diff --git a/.gitignore b/.gitignore index 1b941e75..d9de1819 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .env .vscode/* setenv.bat -.logs \ No newline at end of file +.logs +./environment.yaml \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json index f5db86b8..e0cb062e 100644 --- a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json +++ b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json @@ -2,7 +2,7 @@ "description": null, "entitySelectorBasedRules": [], "metadata": { - "clusterVersion": "1.224.76.20210824-135737", + "clusterVersion": "1.227.117.20211006-093310", "configurationVersions": [ 7 ] @@ -28,8 +28,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Infotainment" @@ -53,8 +53,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Infotainment" @@ -240,8 +240,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "CSI" @@ -694,8 +694,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "SMACC-BE" @@ -719,8 +719,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "SMACC-KTS" @@ -866,8 +866,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "BASE" @@ -894,8 +894,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "RemoteServices" @@ -919,8 +919,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "CCG" @@ -944,8 +944,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "LSC-HR" @@ -972,8 +972,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Remote 360" @@ -1000,8 +1000,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "RS Cockpit" @@ -1137,8 +1137,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Voice Services" @@ -1317,8 +1317,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "ASBC-SMACC" @@ -1342,8 +1342,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "ASBC-RSU" @@ -1367,8 +1367,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "ASBC-HAL" @@ -1392,8 +1392,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "App Repository" @@ -1417,8 +1417,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Call Center Client" @@ -1442,8 +1442,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Call Center Client" @@ -1467,8 +1467,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Voice Services" @@ -1492,8 +1492,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Voice Services" @@ -1517,8 +1517,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Voice Services" @@ -1542,8 +1542,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Voice Services" @@ -1567,8 +1567,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Voice Services" @@ -1592,8 +1592,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Voice Services" @@ -1617,8 +1617,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Voice Services" @@ -1642,8 +1642,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "XCC" @@ -1667,8 +1667,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "MSGSVC" @@ -1857,8 +1857,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Perseus" @@ -1882,8 +1882,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "ASBC-RSU" @@ -1907,8 +1907,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "ASBC-SMACC" @@ -2037,8 +2037,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "LSC-JR" @@ -2062,8 +2062,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "LSC-WO" @@ -2087,8 +2087,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "APIGW-WS" @@ -2112,8 +2112,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "APIGW-WS" @@ -2137,8 +2137,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "APIGW-WS" @@ -2162,8 +2162,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "APIGW-WS" @@ -2187,8 +2187,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "APIGW-WS" @@ -2233,8 +2233,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "APIGW-APP" @@ -2258,8 +2258,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Connected Backend Services" @@ -2282,8 +2282,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Service Gateway Legacy" @@ -2340,8 +2340,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "{ProcessGroup:KubernetesNamespace/managed-app-(.++)}" @@ -2365,8 +2365,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Call Center Client" @@ -2417,8 +2417,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "{ProcessGroup:Kubernetes:component}" @@ -2475,8 +2475,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "APPCALL" @@ -2533,8 +2533,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "ACDS" @@ -2558,8 +2558,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "ECS" @@ -2583,8 +2583,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "XCS" @@ -2641,8 +2641,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "EVNS" @@ -2699,8 +2699,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "eCallGW" @@ -2757,8 +2757,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "GATS" @@ -3189,8 +3189,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "NGTP" @@ -3214,8 +3214,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "NGTP-CS" @@ -3515,8 +3515,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "{ProcessGroup:KubernetesNamespace/(.*?)-prod}" @@ -3556,8 +3556,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "{ProcessGroup:KubernetesNamespace/(.*?)-e2e}" @@ -3597,8 +3597,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "{ProcessGroup:KubernetesNamespace/(.*?)-int}" @@ -3638,8 +3638,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "{ProcessGroup:KubernetesNamespace/(.*?)-test}" @@ -3779,8 +3779,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "{ProcessGroup:KubernetesNamespace/(.*?)-prod}" @@ -3821,8 +3821,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "{ProcessGroup:KubernetesNamespace/(.*?)-e2e}" @@ -4044,8 +4044,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Perseus" @@ -4087,105 +4087,433 @@ "valueFormat": "sfa-ota" }, { - "type": "SERVICE", - "enabled": true, - "valueFormat": "xcc-settings", - "propagationTypes": [], - "conditions": [ - { - "key": { - "attribute": "SERVICE_TYPE" - }, - "comparisonInfo": { - "type": "SERVICE_TYPE", - "operator": "EQUALS", - "value": "DATABASE_SERVICE", - "negate": false - } - }, - { - "key": { - "attribute": "SERVICE_DATABASE_NAME" - }, - "comparisonInfo": { - "type": "STRING", - "operator": "CONTAINS", - "value": "xcc-settings-db", - "negate": false, - "caseSensitive": true - } - } - ] - }, - { - "type": "SERVICE", - "enabled": true, - "valueFormat": "BMW_POINTS_ENGINE", - "propagationTypes": [], "conditions": [ { - "key": { - "attribute": "SERVICE_TYPE" - }, "comparisonInfo": { - "type": "SERVICE_TYPE", + "negate": false, "operator": "EQUALS", - "value": "DATABASE_SERVICE", - "negate": false + "type": "SERVICE_TYPE", + "value": "DATABASE_SERVICE" + }, + "key": { + "attribute": "SERVICE_TYPE", + "type": "STATIC" } }, { - "key": { - "attribute": "SERVICE_DATABASE_NAME" - }, "comparisonInfo": { - "type": "STRING", - "operator": "BEGINS", - "value": "ime_", + "caseSensitive": true, "negate": false, - "caseSensitive": true + "operator": "CONTAINS", + "type": "STRING", + "value": "vsd_cam" + }, + "key": { + "attribute": "SERVICE_DATABASE_NAME", + "type": "STATIC" } } - ] + ], + "enabled": true, + "propagationTypes": [], + "type": "SERVICE", + "valueFormat": "camvs" }, { - "type": "SERVICE", - "enabled": true, -<<<<<<< HEAD - "valueFormat": "rsu", -======= - "valueFormat": "ASBC-HAL-CL", ->>>>>>> 66042505f351ff2f91db06a9972f047047e2105c - "propagationTypes": [], "conditions": [ { - "key": { - "attribute": "SERVICE_TYPE" - }, "comparisonInfo": { - "type": "SERVICE_TYPE", + "caseSensitive": true, + "negate": false, "operator": "EQUALS", - "value": "DATABASE_SERVICE", - "negate": false + "type": "STRING", + "value": "camvs" + }, + "key": { + "attribute": "PROCESS_GROUP_CUSTOM_METADATA", + "dynamicKey": { + "key": "app-name", + "source": "ENVIRONMENT" + }, + "type": "PROCESS_CUSTOM_METADATA_KEY" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE", + "valueFormat": "camvs" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "SERVICE_TYPE", + "value": "DATABASE_SERVICE" + }, + "key": { + "attribute": "SERVICE_TYPE", + "type": "STATIC" } }, { - "key": { - "attribute": "SERVICE_DATABASE_NAME" - }, "comparisonInfo": { - "type": "STRING", -<<<<<<< HEAD - "operator": "CONTAINS_REGEX", - "value": "^(?>cam|disp|fre|rcs|rdh|rmo|rpp|rte|rve|rvi|rvt|rwd|uvm)(?>eu|us|cn)(?>e2e|p)$", -======= - "operator": "CONTAINS", - "value": "asbchal", ->>>>>>> 66042505f351ff2f91db06a9972f047047e2105c + "caseSensitive": true, "negate": false, - "caseSensitive": true + "operator": "CONTAINS", + "type": "STRING", + "value": "xcc-settings-db" + }, + "key": { + "attribute": "SERVICE_DATABASE_NAME", + "type": "STATIC" } } + ], + "enabled": true, + "propagationTypes": [], + "type": "SERVICE", + "valueFormat": "xcc-settings" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "SERVICE_TYPE", + "value": "DATABASE_SERVICE" + }, + "key": { + "attribute": "SERVICE_TYPE", + "type": "STATIC" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "BEGINS_WITH", + "type": "STRING", + "value": "ime_" + }, + "key": { + "attribute": "SERVICE_DATABASE_NAME", + "type": "STATIC" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "SERVICE", + "valueFormat": "BMW_POINTS_ENGINE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "SERVICE_TYPE", + "value": "DATABASE_SERVICE" + }, + "key": { + "attribute": "SERVICE_TYPE", + "type": "STATIC" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "BEGINS_WITH", + "type": "STRING", + "value": "ccc" + }, + "key": { + "attribute": "SERVICE_DATABASE_NAME", + "type": "STATIC" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "SERVICE", + "valueFormat": "ccc" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "EQUALS", + "type": "STRING", + "value": "asbc-hal" + }, + "key": { + "attribute": "PROCESS_GROUP_PREDEFINED_METADATA", + "dynamicKey": "KUBERNETES_NAMESPACE", + "type": "PROCESS_PREDEFINED_METADATA_KEY" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP", + "valueFormat": "ASBC-HAL-CL" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "EQUALS", + "type": "STRING", + "value": "asbc-ngtp" + }, + "key": { + "attribute": "PROCESS_GROUP_PREDEFINED_METADATA", + "dynamicKey": "KUBERNETES_NAMESPACE", + "type": "PROCESS_PREDEFINED_METADATA_KEY" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP", + "valueFormat": "ASBC-NGTP" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "EQUALS", + "type": "STRING", + "value": "hpauth" + }, + "key": { + "attribute": "PROCESS_GROUP_PREDEFINED_METADATA", + "dynamicKey": "KUBERNETES_NAMESPACE", + "type": "PROCESS_PREDEFINED_METADATA_KEY" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP", + "valueFormat": "hpauth" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "SERVICE_TYPE", + "value": "DATABASE_SERVICE" + }, + "key": { + "attribute": "SERVICE_TYPE", + "type": "STATIC" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "countly_mongo_db" + }, + "key": { + "attribute": "SERVICE_DATABASE_NAME", + "type": "STATIC" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "SERVICE", + "valueFormat": "Countly" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "SERVICE_TYPE", + "value": "DATABASE_SERVICE" + }, + "key": { + "attribute": "SERVICE_TYPE", + "type": "STATIC" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "asbchal" + }, + "key": { + "attribute": "SERVICE_DATABASE_NAME", + "type": "STATIC" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "SERVICE", + "valueFormat": "ASBC-HAL-CL" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "SERVICE_TYPE", + "value": "DATABASE_SERVICE" + }, + "key": { + "attribute": "SERVICE_TYPE", + "type": "STATIC" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "REGEX_MATCHES", + "type": "STRING", + "value": "^(?\u003ecam|disp|fre|rcs|rdh|rmo|rpp|rte|rve|rvi|rvt|rwd|uvm)(?\u003eeu|us|cn)(?\u003ee2e|p)$" + }, + "key": { + "attribute": "SERVICE_DATABASE_NAME", + "type": "STATIC" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "SERVICE", + "valueFormat": "rsu" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "SERVICE_TYPE", + "value": "DATABASE_SERVICE" + }, + "key": { + "attribute": "SERVICE_TYPE", + "type": "STATIC" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "REGEX_MATCHES", + "type": "STRING", + "value": "cc_.*vps.*archiv" + }, + "key": { + "attribute": "SERVICE_DATABASE_NAME", + "type": "STATIC" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "SERVICE", + "valueFormat": "VPS-Archive" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "SERVICE_TYPE", + "value": "DATABASE_SERVICE" + }, + "key": { + "attribute": "SERVICE_TYPE", + "type": "STATIC" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "REGEX_MATCHES", + "type": "STRING", + "value": "cc_.*vps.*monitor" + }, + "key": { + "attribute": "SERVICE_DATABASE_NAME", + "type": "STATIC" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "SERVICE", + "valueFormat": "VPS-Monitor" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "SERVICE_TYPE", + "value": "DATABASE_SERVICE" + }, + "key": { + "attribute": "SERVICE_TYPE", + "type": "STATIC" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "REGEX_MATCHES", + "type": "STRING", + "value": "cc_.*vps.*config" + }, + "key": { + "attribute": "SERVICE_DATABASE_NAME", + "type": "STATIC" + } + } +<<<<<<< HEAD ] }, { @@ -4218,8 +4546,13 @@ } } ] +======= + ], + "enabled": true, + "propagationTypes": [], + "type": "SERVICE", + "valueFormat": "VPS-Admin" +>>>>>>> 9185efc6d986c7d7f7546667d2c36279c3db0e6c } ] -} -] -} + } \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..375ff6a5 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDASBC-FSC-AST: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDASBC-FSC-AST.EMEA-Prod: +- name: CD_ASBC-FSC-AST PROD +- tag: ASBC-FSC-AST +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- env: PROD +- skipDeployment: "false" +CDASBC-FSC-AST.NA-Prod: +- name: CD_ASBC-FSC-AST PROD +- tag: ASBC-FSC-AST +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- env: PROD +- skipDeployment: "false" +CDASBC-FSC-AST.CN-Prod: +- name: CD_ASBC-FSC-AST PROD +- tag: ASBC-FSC-AST +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDASBC-FSC-AST.EMEA-PreProd: +- name: CD_ASBC-FSC-AST INT +- tag: ASBC-FSC-AST +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- env: INT +- skipDeployment: "false" +CDASBC-FSC-AST.NA-PreProd: +- name: CD_ASBC-FSC-AST INT +- tag: ASBC-FSC-AST +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- env: INT +- skipDeployment: "false" +CDASBC-FSC-AST.CN-PreProd: +- name: CD_ASBC-FSC-AST INT +- tag: ASBC-FSC-AST +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/alerting-profile/default.json b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/calculated-metrics-service/README.md new file mode 100644 index 00000000..9c2a1f2e --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..519727bf --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..9c850977 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDASBC-FSC-AST: template.json + +CDASBC-FSC-AST: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: ASBC-FSC-AST +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-service/README.md new file mode 100644 index 00000000..b6f10ae1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..9c850977 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDASBC-FSC-AST: template.json + +CDASBC-FSC-AST: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: ASBC-FSC-AST +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/custom-service-java/README.md b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/custom-service-java/README.md new file mode 100644 index 00000000..5f35e5c1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/dashboard/README.md b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/dashboard/README.md new file mode 100644 index 00000000..f2f821ec --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/dashboard/dashboard.yaml new file mode 100644 index 00000000..33502234 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/dashboard/dashboard.yaml @@ -0,0 +1,125 @@ +config: +- CDASBC-FSC-AST-PROD: default.json +- CDASBC-FSC-AST-E2E: default.json +- CDASBC-FSC-AST-INT: default.json +- CDASBC-FSC-AST-TEST: default.json + +#PROD dashboards for EMEA/NA/CN Prod +CDASBC-FSC-AST-PROD: +- name: CD_ASBC-FSC-AST PROD +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: PROD +- skipDeployment: "true" +CDASBC-FSC-AST-PROD.EMEA-Prod: +- name: CD_ASBC-FSC-AST PROD +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: PROD +- skipDeployment: "false" +CDASBC-FSC-AST-PROD.NA-Prod: +- name: CD_ASBC-FSC-AST PROD +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: PROD +- skipDeployment: "false" +CDASBC-FSC-AST-PROD.CN-Prod: +- name: CD_ASBC-FSC-AST PROD +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDASBC-FSC-AST-E2E: +- name: CD_ASBC-FSC-AST E2E +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: E2E +- skipDeployment: "true" +CDASBC-FSC-AST-E2E.EMEA-Prod: +- name: CD_ASBC-FSC-AST E2E +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: E2E +- skipDeployment: "false" +CDASBC-FSC-AST-E2E.NA-Prod: +- name: CD_ASBC-FSC-AST E2E +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: E2E +- skipDeployment: "false" +CDASBC-FSC-AST-E2E.CN-Prod: +- name: CD_ASBC-FSC-AST E2E +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDASBC-FSC-AST-INT: +- name: CD_ASBC-FSC-AST INT +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: INT +- skipDeployment: "true" +CDASBC-FSC-AST-INT.EMEA-PreProd: +- name: CD_ASBC-FSC-AST INT +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: INT +- skipDeployment: "false" +CDASBC-FSC-AST-INT.NA-PreProd: +- name: CD_ASBC-FSC-AST INT +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: INT +- skipDeployment: "false" +CDASBC-FSC-AST-INT.CN-PreProd: +- name: CD_ASBC-FSC-AST INT +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDASBC-FSC-AST-TEST: +- name: CD_ASBC-FSC-AST TEST +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: TEST +- skipDeployment: "true" +CDASBC-FSC-AST-TEST.EMEA-PreProd: +- name: CD_ASBC-FSC-AST TEST +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: TEST +- skipDeployment: "false" +CDASBC-FSC-AST-TEST.NA-PreProd: +- name: CD_ASBC-FSC-AST TEST +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: TEST +- skipDeployment: "false" +CDASBC-FSC-AST-TEST.CN-PreProd: +- name: CD_ASBC-FSC-AST TEST +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/dashboard/default.json b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/dashboard/default.json new file mode 100644 index 00000000..ef07d18c --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/dashboard/default.json @@ -0,0 +1,309 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.tag}}" + ], + "preset": true + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {} + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/management-zone/README.md b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/management-zone/README.md new file mode 100644 index 00000000..3716858c --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/management-zone/README.md @@ -0,0 +1,4 @@ + +### How to configure management zones? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/management-zone/default.json b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/management-zone/default.json new file mode 100644 index 00000000..bffa0c3b --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/management-zone/default.json @@ -0,0 +1,114 @@ +{ + "dimensionalRules": [], + "name": "{{.name}}", + "rules": [ + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "HOST_TAGS" + } + } + ], + "enabled": true, + "type": "HOST" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAMESPACE_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION_NAMESPACE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION" + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/management-zone/management-zone.yaml new file mode 100644 index 00000000..3933acb8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDASBC-FSC-AST: default.json + +CDASBC-FSC-AST: +- name: CD_ASBC-FSC-AST +- tag: ASBC-FSC-AST diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/README.md b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/README.md new file mode 100644 index 00000000..37cb85bc --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/email.json b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/itsm.json b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/msTeams.json b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/notification.yaml b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/notification.yaml new file mode 100644 index 00000000..94e0dbe8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDASBC-FSC-AST: msTeams.json +- CDASBC-FSC-ASTITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDASBC-FSC-AST.EMEA-Prod: +- name: CD_ASBC-FSC-AST PROD +- alertingProfile: CD_ASBC-FSC-AST/alerting-profile/CDASBC-FSC-AST.id +- webhook: https://empty +- skipDeployment: "true" +CDASBC-FSC-AST.NA-Prod: +- name: CD_ASBC-FSC-AST PROD +- alertingProfile: CD_ASBC-FSC-AST/alerting-profile/CDASBC-FSC-AST.id +- webhook: https://empty +- skipDeployment: "true" +CDASBC-FSC-AST.CN-Prod: +- name: CD_ASBC-FSC-AST PROD +- alertingProfile: CD_ASBC-FSC-AST/alerting-profile/CDASBC-FSC-AST.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDASBC-FSC-AST.EMEA-PreProd: +- name: CD_ASBC-FSC-AST INT +- alertingProfile: CD_ASBC-FSC-AST/alerting-profile/CDASBC-FSC-AST.id +- webhook: https://empty +- skipDeployment: "true" +CDASBC-FSC-AST.NA-PreProd: +- name: CD_ASBC-FSC-AST INT +- alertingProfile: CD_ASBC-FSC-AST/alerting-profile/CDASBC-FSC-AST.id +- webhook: https://empty +- skipDeployment: "true" +CDASBC-FSC-AST.CN-PreProd: +- name: CD_ASBC-FSC-AST INT +- alertingProfile: CD_ASBC-FSC-AST/alerting-profile/CDASBC-FSC-AST.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDASBC-FSC-ASTITSM.EMEA-Prod: +- name: CD_ASBC-FSC-AST ITSM PROD +- alertingProfile: CD_ASBC-FSC-AST/alerting-profile/CDASBC-FSC-AST.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDASBC-FSC-ASTITSM.NA-Prod: +- name: CD_ASBC-FSC-AST ITSM PROD +- alertingProfile: CD_ASBC-FSC-AST/alerting-profile/CDASBC-FSC-AST.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDASBC-FSC-ASTITSM.CN-Prod: +- name: CD_ASBC-FSC-AST ITSM PROD +- alertingProfile: CD_ASBC-FSC-AST/alerting-profile/CDASBC-FSC-AST.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDASBC-FSC-ASTITSM.EMEA-PreProd: +- name: CD_ASBC-FSC-AST ITSM INT +- alertingProfile: CD_ASBC-FSC-AST/alerting-profile/CDASBC-FSC-AST.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDASBC-FSC-ASTITSM.NA-PreProd: +- name: CD_ASBC-FSC-AST ITSM INT +- alertingProfile: CD_ASBC-FSC-AST/alerting-profile/CDASBC-FSC-AST.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDASBC-FSC-ASTITSM.CN-PreProd: +- name: CD_ASBC-FSC-AST ITSM INT +- alertingProfile: CD_ASBC-FSC-AST/alerting-profile/CDASBC-FSC-AST.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/synthetic-monitor/README.md new file mode 100644 index 00000000..1695924c --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..56adcbf9 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- ASBC-FSC-AST: default.json + +ASBC-FSC-AST: +- name: CD_ASBC-FSC-AST - +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_ASBC-MFSCS/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..e3a5d918 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDASBC-MFSCS: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDASBC-MFSCS.EMEA-Prod: +- name: CD_ASBC-MFSCS PROD +- tag: ASBC-MFSCS +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- env: PROD +- skipDeployment: "false" +CDASBC-MFSCS.NA-Prod: +- name: CD_ASBC-MFSCS PROD +- tag: ASBC-MFSCS +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- env: PROD +- skipDeployment: "false" +CDASBC-MFSCS.CN-Prod: +- name: CD_ASBC-MFSCS PROD +- tag: ASBC-MFSCS +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDASBC-MFSCS.EMEA-PreProd: +- name: CD_ASBC-MFSCS INT +- tag: ASBC-MFSCS +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- env: INT +- skipDeployment: "false" +CDASBC-MFSCS.NA-PreProd: +- name: CD_ASBC-MFSCS INT +- tag: ASBC-MFSCS +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- env: INT +- skipDeployment: "false" +CDASBC-MFSCS.CN-PreProd: +- name: CD_ASBC-MFSCS INT +- tag: ASBC-MFSCS +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/alerting-profile/default.json b/BMW-Dynatrace-config/CD_ASBC-MFSCS/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_ASBC-MFSCS/calculated-metrics-service/README.md new file mode 100644 index 00000000..9c2a1f2e --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..519727bf --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..eed85810 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDASBC-MFSCS: template.json + +CDASBC-MFSCS: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: ASBC-MFSCS +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-service/README.md new file mode 100644 index 00000000..b6f10ae1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..eed85810 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDASBC-MFSCS: template.json + +CDASBC-MFSCS: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: ASBC-MFSCS +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/custom-service-java/README.md b/BMW-Dynatrace-config/CD_ASBC-MFSCS/custom-service-java/README.md new file mode 100644 index 00000000..5f35e5c1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_ASBC-MFSCS/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_ASBC-MFSCS/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/dashboard/README.md b/BMW-Dynatrace-config/CD_ASBC-MFSCS/dashboard/README.md new file mode 100644 index 00000000..f2f821ec --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_ASBC-MFSCS/dashboard/dashboard.yaml new file mode 100644 index 00000000..eeea96d8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/dashboard/dashboard.yaml @@ -0,0 +1,125 @@ +config: +- CDASBC-MFSCS-PROD: default.json +- CDASBC-MFSCS-E2E: default.json +- CDASBC-MFSCS-INT: default.json +- CDASBC-MFSCS-TEST: default.json + +#PROD dashboards for EMEA/NA/CN Prod +CDASBC-MFSCS-PROD: +- name: CD_ASBC-MFSCS PROD +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: PROD +- skipDeployment: "true" +CDASBC-MFSCS-PROD.EMEA-Prod: +- name: CD_ASBC-MFSCS PROD +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: PROD +- skipDeployment: "false" +CDASBC-MFSCS-PROD.NA-Prod: +- name: CD_ASBC-MFSCS PROD +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: PROD +- skipDeployment: "false" +CDASBC-MFSCS-PROD.CN-Prod: +- name: CD_ASBC-MFSCS PROD +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDASBC-MFSCS-E2E: +- name: CD_ASBC-MFSCS E2E +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: E2E +- skipDeployment: "true" +CDASBC-MFSCS-E2E.EMEA-Prod: +- name: CD_ASBC-MFSCS E2E +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: E2E +- skipDeployment: "false" +CDASBC-MFSCS-E2E.NA-Prod: +- name: CD_ASBC-MFSCS E2E +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: E2E +- skipDeployment: "false" +CDASBC-MFSCS-E2E.CN-Prod: +- name: CD_ASBC-MFSCS E2E +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDASBC-MFSCS-INT: +- name: CD_ASBC-MFSCS INT +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: INT +- skipDeployment: "true" +CDASBC-MFSCS-INT.EMEA-PreProd: +- name: CD_ASBC-MFSCS INT +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: INT +- skipDeployment: "false" +CDASBC-MFSCS-INT.NA-PreProd: +- name: CD_ASBC-MFSCS INT +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: INT +- skipDeployment: "false" +CDASBC-MFSCS-INT.CN-PreProd: +- name: CD_ASBC-MFSCS INT +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDASBC-MFSCS-TEST: +- name: CD_ASBC-MFSCS TEST +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: TEST +- skipDeployment: "true" +CDASBC-MFSCS-TEST.EMEA-PreProd: +- name: CD_ASBC-MFSCS TEST +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: TEST +- skipDeployment: "false" +CDASBC-MFSCS-TEST.NA-PreProd: +- name: CD_ASBC-MFSCS TEST +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: TEST +- skipDeployment: "false" +CDASBC-MFSCS-TEST.CN-PreProd: +- name: CD_ASBC-MFSCS TEST +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/dashboard/default.json b/BMW-Dynatrace-config/CD_ASBC-MFSCS/dashboard/default.json new file mode 100644 index 00000000..ef07d18c --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/dashboard/default.json @@ -0,0 +1,309 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.tag}}" + ], + "preset": true + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {} + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/management-zone/README.md b/BMW-Dynatrace-config/CD_ASBC-MFSCS/management-zone/README.md new file mode 100644 index 00000000..3716858c --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/management-zone/README.md @@ -0,0 +1,4 @@ + +### How to configure management zones? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/management-zone/default.json b/BMW-Dynatrace-config/CD_ASBC-MFSCS/management-zone/default.json new file mode 100644 index 00000000..bffa0c3b --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/management-zone/default.json @@ -0,0 +1,114 @@ +{ + "dimensionalRules": [], + "name": "{{.name}}", + "rules": [ + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "HOST_TAGS" + } + } + ], + "enabled": true, + "type": "HOST" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAMESPACE_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION_NAMESPACE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION" + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_ASBC-MFSCS/management-zone/management-zone.yaml new file mode 100644 index 00000000..a23ffd6d --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDASBC-MFSCS: default.json + +CDASBC-MFSCS: +- name: CD_ASBC-MFSCS +- tag: ASBC-MFSCS diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/README.md b/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/README.md new file mode 100644 index 00000000..37cb85bc --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/email.json b/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/itsm.json b/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/msTeams.json b/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/notification.yaml b/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/notification.yaml new file mode 100644 index 00000000..e25362d1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDASBC-MFSCS: msTeams.json +- CDASBC-MFSCSITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDASBC-MFSCS.EMEA-Prod: +- name: CD_ASBC-MFSCS PROD +- alertingProfile: CD_ASBC-MFSCS/alerting-profile/CDASBC-MFSCS.id +- webhook: https://empty +- skipDeployment: "true" +CDASBC-MFSCS.NA-Prod: +- name: CD_ASBC-MFSCS PROD +- alertingProfile: CD_ASBC-MFSCS/alerting-profile/CDASBC-MFSCS.id +- webhook: https://empty +- skipDeployment: "true" +CDASBC-MFSCS.CN-Prod: +- name: CD_ASBC-MFSCS PROD +- alertingProfile: CD_ASBC-MFSCS/alerting-profile/CDASBC-MFSCS.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDASBC-MFSCS.EMEA-PreProd: +- name: CD_ASBC-MFSCS INT +- alertingProfile: CD_ASBC-MFSCS/alerting-profile/CDASBC-MFSCS.id +- webhook: https://empty +- skipDeployment: "true" +CDASBC-MFSCS.NA-PreProd: +- name: CD_ASBC-MFSCS INT +- alertingProfile: CD_ASBC-MFSCS/alerting-profile/CDASBC-MFSCS.id +- webhook: https://empty +- skipDeployment: "true" +CDASBC-MFSCS.CN-PreProd: +- name: CD_ASBC-MFSCS INT +- alertingProfile: CD_ASBC-MFSCS/alerting-profile/CDASBC-MFSCS.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDASBC-MFSCSITSM.EMEA-Prod: +- name: CD_ASBC-MFSCS ITSM PROD +- alertingProfile: CD_ASBC-MFSCS/alerting-profile/CDASBC-MFSCS.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDASBC-MFSCSITSM.NA-Prod: +- name: CD_ASBC-MFSCS ITSM PROD +- alertingProfile: CD_ASBC-MFSCS/alerting-profile/CDASBC-MFSCS.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDASBC-MFSCSITSM.CN-Prod: +- name: CD_ASBC-MFSCS ITSM PROD +- alertingProfile: CD_ASBC-MFSCS/alerting-profile/CDASBC-MFSCS.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDASBC-MFSCSITSM.EMEA-PreProd: +- name: CD_ASBC-MFSCS ITSM INT +- alertingProfile: CD_ASBC-MFSCS/alerting-profile/CDASBC-MFSCS.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDASBC-MFSCSITSM.NA-PreProd: +- name: CD_ASBC-MFSCS ITSM INT +- alertingProfile: CD_ASBC-MFSCS/alerting-profile/CDASBC-MFSCS.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDASBC-MFSCSITSM.CN-PreProd: +- name: CD_ASBC-MFSCS ITSM INT +- alertingProfile: CD_ASBC-MFSCS/alerting-profile/CDASBC-MFSCS.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_ASBC-MFSCS/synthetic-monitor/README.md new file mode 100644 index 00000000..1695924c --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_ASBC-MFSCS/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_ASBC-MFSCS/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..b67cb8be --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- ASBC-MFSCS: default.json + +ASBC-MFSCS: +- name: CD_ASBC-MFSCS - +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_AudioVideoServices/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..137d192c --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDAudioVideoServices: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDAudioVideoServices.EMEA-Prod: +- name: CD_AudioVideoServices PROD +- tag: AudioVideoServices +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- env: PROD +- skipDeployment: "false" +CDAudioVideoServices.NA-Prod: +- name: CD_AudioVideoServices PROD +- tag: AudioVideoServices +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- env: PROD +- skipDeployment: "false" +CDAudioVideoServices.CN-Prod: +- name: CD_AudioVideoServices PROD +- tag: AudioVideoServices +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDAudioVideoServices.EMEA-PreProd: +- name: CD_AudioVideoServices INT +- tag: AudioVideoServices +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- env: INT +- skipDeployment: "false" +CDAudioVideoServices.NA-PreProd: +- name: CD_AudioVideoServices INT +- tag: AudioVideoServices +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- env: INT +- skipDeployment: "false" +CDAudioVideoServices.CN-PreProd: +- name: CD_AudioVideoServices INT +- tag: AudioVideoServices +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/alerting-profile/default.json b/BMW-Dynatrace-config/CD_AudioVideoServices/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_AudioVideoServices/calculated-metrics-service/README.md new file mode 100644 index 00000000..9c2a1f2e --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..519727bf --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..71c7b34a --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDAudioVideoServices: template.json + +CDAudioVideoServices: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: AudioVideoServices +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-service/README.md new file mode 100644 index 00000000..b6f10ae1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..71c7b34a --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDAudioVideoServices: template.json + +CDAudioVideoServices: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: AudioVideoServices +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/custom-service-java/README.md b/BMW-Dynatrace-config/CD_AudioVideoServices/custom-service-java/README.md new file mode 100644 index 00000000..5f35e5c1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_AudioVideoServices/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_AudioVideoServices/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/README.md b/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/README.md new file mode 100644 index 00000000..f2f821ec --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/dashboard.yaml new file mode 100644 index 00000000..eece26f5 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/dashboard.yaml @@ -0,0 +1,125 @@ +config: +- CDAudioVideoServices-PROD: default.json +- CDAudioVideoServices-E2E: default.json +- CDAudioVideoServices-INT: default.json +- CDAudioVideoServices-TEST: default.json + +#PROD dashboards for EMEA/NA/CN Prod +CDAudioVideoServices-PROD: +- name: CD_AudioVideoServices PROD +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices +- env: PROD +- skipDeployment: "true" +CDAudioVideoServices-PROD.EMEA-Prod: +- name: CD_AudioVideoServices PROD +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices +- env: PROD +- skipDeployment: "false" +CDAudioVideoServices-PROD.NA-Prod: +- name: CD_AudioVideoServices PROD +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices +- env: PROD +- skipDeployment: "false" +CDAudioVideoServices-PROD.CN-Prod: +- name: CD_AudioVideoServices PROD +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDAudioVideoServices-E2E: +- name: CD_AudioVideoServices E2E +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices +- env: E2E +- skipDeployment: "true" +CDAudioVideoServices-E2E.EMEA-Prod: +- name: CD_AudioVideoServices E2E +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices +- env: E2E +- skipDeployment: "false" +CDAudioVideoServices-E2E.NA-Prod: +- name: CD_AudioVideoServices E2E +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices +- env: E2E +- skipDeployment: "false" +CDAudioVideoServices-E2E.CN-Prod: +- name: CD_AudioVideoServices E2E +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDAudioVideoServices-INT: +- name: CD_AudioVideoServices INT +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices +- env: INT +- skipDeployment: "true" +CDAudioVideoServices-INT.EMEA-PreProd: +- name: CD_AudioVideoServices INT +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices +- env: INT +- skipDeployment: "false" +CDAudioVideoServices-INT.NA-PreProd: +- name: CD_AudioVideoServices INT +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices +- env: INT +- skipDeployment: "false" +CDAudioVideoServices-INT.CN-PreProd: +- name: CD_AudioVideoServices INT +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDAudioVideoServices-TEST: +- name: CD_AudioVideoServices TEST +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices +- env: TEST +- skipDeployment: "true" +CDAudioVideoServices-TEST.EMEA-PreProd: +- name: CD_AudioVideoServices TEST +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices +- env: TEST +- skipDeployment: "false" +CDAudioVideoServices-TEST.NA-PreProd: +- name: CD_AudioVideoServices TEST +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices +- env: TEST +- skipDeployment: "false" +CDAudioVideoServices-TEST.CN-PreProd: +- name: CD_AudioVideoServices TEST +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/default.json b/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/default.json new file mode 100644 index 00000000..67bc1212 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/default.json @@ -0,0 +1,334 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.tag}}" + ], + "preset": true + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/README.md b/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/README.md new file mode 100644 index 00000000..3716858c --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/README.md @@ -0,0 +1,4 @@ + +### How to configure management zones? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/default.json b/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/default.json new file mode 100644 index 00000000..61d6ff76 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/default.json @@ -0,0 +1,239 @@ +{ + "dimensionalRules": [], + "name": "{{.name}}", + "rules": [ + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "HOST_TAGS" + } + } + ], + "enabled": true, + "type": "HOST" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAMESPACE_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION_NAMESPACE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "ms-id", + "value": "cm-spotify" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "ms-id", + "value": "ise-connectedradio" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "ms-id", + "value": "cm-config" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "ms-id", + "value": "cm-gracenote" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "ms-id", + "value": "cm-ximalaya" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + } + ] +} diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/management-zone.yaml new file mode 100644 index 00000000..a8372d89 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDAudioVideoServices: default.json + +CDAudioVideoServices: +- name: CD_AudioVideoServices +- tag: AudioVideoServices diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/notification/README.md b/BMW-Dynatrace-config/CD_AudioVideoServices/notification/README.md new file mode 100644 index 00000000..37cb85bc --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/notification/email.json b/BMW-Dynatrace-config/CD_AudioVideoServices/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/notification/itsm.json b/BMW-Dynatrace-config/CD_AudioVideoServices/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/notification/msTeams.json b/BMW-Dynatrace-config/CD_AudioVideoServices/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/notification/notification.yaml b/BMW-Dynatrace-config/CD_AudioVideoServices/notification/notification.yaml new file mode 100644 index 00000000..ad47eb99 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDAudioVideoServices: msTeams.json +- CDAudioVideoServicesITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDAudioVideoServices.EMEA-Prod: +- name: CD_AudioVideoServices PROD +- alertingProfile: CD_AudioVideoServices/alerting-profile/CDAudioVideoServices.id +- webhook: https://empty +- skipDeployment: "true" +CDAudioVideoServices.NA-Prod: +- name: CD_AudioVideoServices PROD +- alertingProfile: CD_AudioVideoServices/alerting-profile/CDAudioVideoServices.id +- webhook: https://empty +- skipDeployment: "true" +CDAudioVideoServices.CN-Prod: +- name: CD_AudioVideoServices PROD +- alertingProfile: CD_AudioVideoServices/alerting-profile/CDAudioVideoServices.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDAudioVideoServices.EMEA-PreProd: +- name: CD_AudioVideoServices INT +- alertingProfile: CD_AudioVideoServices/alerting-profile/CDAudioVideoServices.id +- webhook: https://empty +- skipDeployment: "true" +CDAudioVideoServices.NA-PreProd: +- name: CD_AudioVideoServices INT +- alertingProfile: CD_AudioVideoServices/alerting-profile/CDAudioVideoServices.id +- webhook: https://empty +- skipDeployment: "true" +CDAudioVideoServices.CN-PreProd: +- name: CD_AudioVideoServices INT +- alertingProfile: CD_AudioVideoServices/alerting-profile/CDAudioVideoServices.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDAudioVideoServicesITSM.EMEA-Prod: +- name: CD_AudioVideoServices ITSM PROD +- alertingProfile: CD_AudioVideoServices/alerting-profile/CDAudioVideoServices.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDAudioVideoServicesITSM.NA-Prod: +- name: CD_AudioVideoServices ITSM PROD +- alertingProfile: CD_AudioVideoServices/alerting-profile/CDAudioVideoServices.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDAudioVideoServicesITSM.CN-Prod: +- name: CD_AudioVideoServices ITSM PROD +- alertingProfile: CD_AudioVideoServices/alerting-profile/CDAudioVideoServices.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDAudioVideoServicesITSM.EMEA-PreProd: +- name: CD_AudioVideoServices ITSM INT +- alertingProfile: CD_AudioVideoServices/alerting-profile/CDAudioVideoServices.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDAudioVideoServicesITSM.NA-PreProd: +- name: CD_AudioVideoServices ITSM INT +- alertingProfile: CD_AudioVideoServices/alerting-profile/CDAudioVideoServices.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDAudioVideoServicesITSM.CN-PreProd: +- name: CD_AudioVideoServices ITSM INT +- alertingProfile: CD_AudioVideoServices/alerting-profile/CDAudioVideoServices.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/README.md new file mode 100644 index 00000000..1695924c --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..fa1bf163 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- AudioVideoServices: default.json + +AudioVideoServices: +- name: CD_AudioVideoServices - +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_LSCFSU/dashboard/default.json b/BMW-Dynatrace-config/CD_LSCFSU/dashboard/default.json index ef07d18c..d0e02c8e 100644 --- a/BMW-Dynatrace-config/CD_LSCFSU/dashboard/default.json +++ b/BMW-Dynatrace-config/CD_LSCFSU/dashboard/default.json @@ -28,7 +28,12 @@ "width": 1064, "height": 304 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "MIXED", "customName": "Failure rate (HTTP 4xx/5xx errors)", @@ -72,8 +77,7 @@ "filtersPerEntityType": { "SERVICE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -118,7 +122,12 @@ "width": 1064, "height": 38 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "markdown": "---\n" }, { @@ -131,7 +140,12 @@ "width": 1064, "height": 304 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "MIXED", "customName": "Response time, Request Count and Number of Errors", @@ -189,8 +203,7 @@ "filtersPerEntityType": { "SERVICE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -206,7 +219,12 @@ "width": 1064, "height": 38 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "markdown": "---\n" }, { @@ -219,7 +237,12 @@ "width": 190, "height": 152 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "DATABASE", "customName": "Databases", @@ -233,8 +256,7 @@ "filtersPerEntityType": { "DATABASE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -251,7 +273,12 @@ "width": 190, "height": 152 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "SERVICE", "customName": "Services", @@ -265,8 +292,7 @@ "filtersPerEntityType": { "SERVICE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -283,7 +309,12 @@ "width": 190, "height": 152 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "HOST", "customName": "Hosts", @@ -297,8 +328,7 @@ "filtersPerEntityType": { "HOST": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } diff --git a/BMW-Dynatrace-config/CD_LSCFSU/management-zone/default.json b/BMW-Dynatrace-config/CD_LSCFSU/management-zone/default.json index bffa0c3b..1ade3f13 100644 --- a/BMW-Dynatrace-config/CD_LSCFSU/management-zone/default.json +++ b/BMW-Dynatrace-config/CD_LSCFSU/management-zone/default.json @@ -1,6 +1,28 @@ { "dimensionalRules": [], "name": "{{.name}}", + "entitySelectorBasedRules": [ + { + "enabled": true, + "entitySelector": "type(Service),tag(\"compass-id:{{.compassid}}\")" + }, + { + "enabled": true, + "entitySelector": "type(SERVICE),databaseName.exists(),toRelationship.calls(type(SERVICE),tag(\"compass-id:{{.compassid}}\"))" + }, + { + "enabled": true, + "entitySelector": "type(PROCESS_GROUP),tag(\"compass-id:{{.compassid}}\")" + }, + { + "enabled": true, + "entitySelector": "type(PROCESS_GROUP_INSTANCE),tag(\"compass-id:{{.compassid}}\")" + }, + { + "enabled": true, + "entitySelector": "type(HOST),tag(\"compass-id:{{.compassid}}\")" + } +], "rules": [ { "conditions": [ diff --git a/BMW-Dynatrace-config/CD_LSCFSU/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_LSCFSU/management-zone/management-zone.yaml index d7cde97a..27bb5bf1 100644 --- a/BMW-Dynatrace-config/CD_LSCFSU/management-zone/management-zone.yaml +++ b/BMW-Dynatrace-config/CD_LSCFSU/management-zone/management-zone.yaml @@ -4,3 +4,4 @@ config: CDLSCFSU: - name: CD_LSCFSU - tag: LSCFSU +- compassid: lscfsu diff --git a/BMW-Dynatrace-config/CD_PAIS/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_PAIS/dashboard/dashboard.yaml index 8102eba9..3f5e8e99 100644 --- a/BMW-Dynatrace-config/CD_PAIS/dashboard/dashboard.yaml +++ b/BMW-Dynatrace-config/CD_PAIS/dashboard/dashboard.yaml @@ -9,28 +9,28 @@ CDPAIS-PROD: - name: CD_PAIS PROD - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: PROD - skipDeployment: "true" CDPAIS-PROD.EMEA-Prod: - name: CD_PAIS PROD - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: PROD - skipDeployment: "false" CDPAIS-PROD.NA-Prod: - name: CD_PAIS PROD - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: PROD - skipDeployment: "false" CDPAIS-PROD.CN-Prod: - name: CD_PAIS PROD - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: PROD - skipDeployment: "false" @@ -39,28 +39,28 @@ CDPAIS-E2E: - name: CD_PAIS E2E - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: E2E - skipDeployment: "true" CDPAIS-E2E.EMEA-Prod: - name: CD_PAIS E2E - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: E2E - skipDeployment: "false" CDPAIS-E2E.NA-Prod: - name: CD_PAIS E2E - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: E2E - skipDeployment: "false" CDPAIS-E2E.CN-Prod: - name: CD_PAIS E2E - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: E2E - skipDeployment: "false" @@ -69,28 +69,28 @@ CDPAIS-INT: - name: CD_PAIS INT - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: INT - skipDeployment: "true" CDPAIS-INT.EMEA-PreProd: - name: CD_PAIS INT - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: INT - skipDeployment: "false" CDPAIS-INT.NA-PreProd: - name: CD_PAIS INT - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: INT - skipDeployment: "false" CDPAIS-INT.CN-PreProd: - name: CD_PAIS INT - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: INT - skipDeployment: "false" @@ -99,27 +99,27 @@ CDPAIS-TEST: - name: CD_PAIS TEST - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: TEST - skipDeployment: "true" CDPAIS-TEST.EMEA-PreProd: - name: CD_PAIS TEST - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: TEST - skipDeployment: "false" CDPAIS-TEST.NA-PreProd: - name: CD_PAIS TEST - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: TEST - skipDeployment: "false" CDPAIS-TEST.CN-PreProd: - name: CD_PAIS TEST - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: TEST - skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_PAIS/dashboard/default.json b/BMW-Dynatrace-config/CD_PAIS/dashboard/default.json index ef07d18c..d596ce1d 100644 --- a/BMW-Dynatrace-config/CD_PAIS/dashboard/default.json +++ b/BMW-Dynatrace-config/CD_PAIS/dashboard/default.json @@ -73,7 +73,7 @@ "SERVICE": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "ms-id:{{.tag}}" ] } } @@ -190,7 +190,7 @@ "SERVICE": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "ms-id:{{.tag}}" ] } } @@ -266,7 +266,7 @@ "SERVICE": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "ms-id:{{.tag}}" ] } } @@ -298,7 +298,7 @@ "HOST": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "ms-id:{{.tag}}" ] } } diff --git a/BMW-Dynatrace-config/CD_PAIS/management-zone/default.json b/BMW-Dynatrace-config/CD_PAIS/management-zone/default.json index bffa0c3b..aef2652c 100644 --- a/BMW-Dynatrace-config/CD_PAIS/management-zone/default.json +++ b/BMW-Dynatrace-config/CD_PAIS/management-zone/default.json @@ -11,7 +11,7 @@ "type": "TAG", "value": { "context": "CONTEXTLESS", - "key": "Component", + "key": "ms-id", "value": "{{.tag}}" } }, @@ -36,7 +36,7 @@ "type": "TAG", "value": { "context": "CONTEXTLESS", - "key": "Component", + "key": "ms-id", "value": "{{.tag}}" } }, @@ -60,7 +60,7 @@ "type": "TAG", "value": { "context": "CONTEXTLESS", - "key": "Component", + "key": "ms-id", "value": "{{.tag}}" } }, diff --git a/BMW-Dynatrace-config/CD_PAIS/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_PAIS/management-zone/management-zone.yaml index 2dd76a35..08a7d344 100644 --- a/BMW-Dynatrace-config/CD_PAIS/management-zone/management-zone.yaml +++ b/BMW-Dynatrace-config/CD_PAIS/management-zone/management-zone.yaml @@ -3,4 +3,4 @@ config: CDPAIS: - name: CD_PAIS -- tag: PAIS +- tag: pais diff --git a/BMW-Dynatrace-config/CD_TripCollection/dashboard/default.json b/BMW-Dynatrace-config/CD_TripCollection/dashboard/default.json index ef07d18c..e95d5bf8 100644 --- a/BMW-Dynatrace-config/CD_TripCollection/dashboard/default.json +++ b/BMW-Dynatrace-config/CD_TripCollection/dashboard/default.json @@ -28,7 +28,12 @@ "width": 1064, "height": 304 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "MIXED", "customName": "Failure rate (HTTP 4xx/5xx errors)", @@ -72,8 +77,7 @@ "filtersPerEntityType": { "SERVICE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -106,7 +110,12 @@ "width": 1064, "height": 38 }, - "tileFilter": {} + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } }, { "name": "Markdown", @@ -118,7 +127,12 @@ "width": 1064, "height": 38 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "markdown": "---\n" }, { @@ -131,7 +145,12 @@ "width": 1064, "height": 304 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "MIXED", "customName": "Response time, Request Count and Number of Errors", @@ -189,8 +208,7 @@ "filtersPerEntityType": { "SERVICE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -206,7 +224,12 @@ "width": 1064, "height": 38 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "markdown": "---\n" }, { @@ -219,7 +242,12 @@ "width": 190, "height": 152 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "DATABASE", "customName": "Databases", @@ -233,8 +261,7 @@ "filtersPerEntityType": { "DATABASE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -251,7 +278,12 @@ "width": 190, "height": 152 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "SERVICE", "customName": "Services", @@ -265,8 +297,7 @@ "filtersPerEntityType": { "SERVICE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -283,7 +314,12 @@ "width": 190, "height": 152 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "HOST", "customName": "Hosts", @@ -297,8 +333,7 @@ "filtersPerEntityType": { "HOST": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } diff --git a/BMW-Dynatrace-config/CD_TripCollection/management-zone/default.json b/BMW-Dynatrace-config/CD_TripCollection/management-zone/default.json index bffa0c3b..1ade3f13 100644 --- a/BMW-Dynatrace-config/CD_TripCollection/management-zone/default.json +++ b/BMW-Dynatrace-config/CD_TripCollection/management-zone/default.json @@ -1,6 +1,28 @@ { "dimensionalRules": [], "name": "{{.name}}", + "entitySelectorBasedRules": [ + { + "enabled": true, + "entitySelector": "type(Service),tag(\"compass-id:{{.compassid}}\")" + }, + { + "enabled": true, + "entitySelector": "type(SERVICE),databaseName.exists(),toRelationship.calls(type(SERVICE),tag(\"compass-id:{{.compassid}}\"))" + }, + { + "enabled": true, + "entitySelector": "type(PROCESS_GROUP),tag(\"compass-id:{{.compassid}}\")" + }, + { + "enabled": true, + "entitySelector": "type(PROCESS_GROUP_INSTANCE),tag(\"compass-id:{{.compassid}}\")" + }, + { + "enabled": true, + "entitySelector": "type(HOST),tag(\"compass-id:{{.compassid}}\")" + } +], "rules": [ { "conditions": [ diff --git a/BMW-Dynatrace-config/CD_TripCollection/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_TripCollection/management-zone/management-zone.yaml index 535fa951..640ab6cf 100644 --- a/BMW-Dynatrace-config/CD_TripCollection/management-zone/management-zone.yaml +++ b/BMW-Dynatrace-config/CD_TripCollection/management-zone/management-zone.yaml @@ -4,3 +4,4 @@ config: CDTripCollection: - name: CD_TripCollection - tag: TripCollection +- compassid: tripCollectionApi diff --git a/BMW-Dynatrace-config/CD_VCSM/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VCSM/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..8e869668 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDVCSM: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDVCSM.EMEA-Prod: +- name: CD_VCSM PROD +- tag: VCSM +- mzId: CD_VCSM/management-zone/CDVCSM.id +- env: PROD +- skipDeployment: "false" +CDVCSM.NA-Prod: +- name: CD_VCSM PROD +- tag: VCSM +- mzId: CD_VCSM/management-zone/CDVCSM.id +- env: PROD +- skipDeployment: "false" +CDVCSM.CN-Prod: +- name: CD_VCSM PROD +- tag: VCSM +- mzId: CD_VCSM/management-zone/CDVCSM.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDVCSM.EMEA-PreProd: +- name: CD_VCSM INT +- tag: VCSM +- mzId: CD_VCSM/management-zone/CDVCSM.id +- env: INT +- skipDeployment: "false" +CDVCSM.NA-PreProd: +- name: CD_VCSM INT +- tag: VCSM +- mzId: CD_VCSM/management-zone/CDVCSM.id +- env: INT +- skipDeployment: "false" +CDVCSM.CN-PreProd: +- name: CD_VCSM INT +- tag: VCSM +- mzId: CD_VCSM/management-zone/CDVCSM.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VCSM/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VCSM/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VCSM/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VCSM/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..0725945d --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDVCSM: template.json + +CDVCSM: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: VCSM +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_VCSM/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VCSM/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VCSM/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VCSM/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..0725945d --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDVCSM: template.json + +CDVCSM: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: VCSM +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_VCSM/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VCSM/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VCSM/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VCSM/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VCSM/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/dashboard/README.md b/BMW-Dynatrace-config/CD_VCSM/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VCSM/dashboard/dashboard.yaml new file mode 100644 index 00000000..78847e41 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/dashboard/dashboard.yaml @@ -0,0 +1,125 @@ +config: +- CDVCSM-PROD: default.json +- CDVCSM-E2E: default.json +- CDVCSM-INT: default.json +- CDVCSM-TEST: default.json + +#PROD dashboards for EMEA/NA/CN Prod +CDVCSM-PROD: +- name: CD_VCSM PROD +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: PROD +- skipDeployment: "true" +CDVCSM-PROD.EMEA-Prod: +- name: CD_VCSM PROD +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: PROD +- skipDeployment: "false" +CDVCSM-PROD.NA-Prod: +- name: CD_VCSM PROD +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: PROD +- skipDeployment: "false" +CDVCSM-PROD.CN-Prod: +- name: CD_VCSM PROD +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDVCSM-E2E: +- name: CD_VCSM E2E +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: E2E +- skipDeployment: "true" +CDVCSM-E2E.EMEA-Prod: +- name: CD_VCSM E2E +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: E2E +- skipDeployment: "false" +CDVCSM-E2E.NA-Prod: +- name: CD_VCSM E2E +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: E2E +- skipDeployment: "false" +CDVCSM-E2E.CN-Prod: +- name: CD_VCSM E2E +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDVCSM-INT: +- name: CD_VCSM INT +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: INT +- skipDeployment: "true" +CDVCSM-INT.EMEA-PreProd: +- name: CD_VCSM INT +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: INT +- skipDeployment: "false" +CDVCSM-INT.NA-PreProd: +- name: CD_VCSM INT +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: INT +- skipDeployment: "false" +CDVCSM-INT.CN-PreProd: +- name: CD_VCSM INT +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDVCSM-TEST: +- name: CD_VCSM TEST +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: TEST +- skipDeployment: "true" +CDVCSM-TEST.EMEA-PreProd: +- name: CD_VCSM TEST +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: TEST +- skipDeployment: "false" +CDVCSM-TEST.NA-PreProd: +- name: CD_VCSM TEST +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: TEST +- skipDeployment: "false" +CDVCSM-TEST.CN-PreProd: +- name: CD_VCSM TEST +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/dashboard/default.json b/BMW-Dynatrace-config/CD_VCSM/dashboard/default.json new file mode 100644 index 00000000..ef07d18c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/dashboard/default.json @@ -0,0 +1,309 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.tag}}" + ], + "preset": true + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {} + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/management-zone/README.md b/BMW-Dynatrace-config/CD_VCSM/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/management-zone/README.md @@ -0,0 +1,4 @@ + +### How to configure management zones? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/management-zone/default.json b/BMW-Dynatrace-config/CD_VCSM/management-zone/default.json new file mode 100644 index 00000000..bffa0c3b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/management-zone/default.json @@ -0,0 +1,114 @@ +{ + "dimensionalRules": [], + "name": "{{.name}}", + "rules": [ + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "HOST_TAGS" + } + } + ], + "enabled": true, + "type": "HOST" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAMESPACE_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION_NAMESPACE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION" + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VCSM/management-zone/management-zone.yaml new file mode 100644 index 00000000..6f33a832 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDVCSM: default.json + +CDVCSM: +- name: CD_VCSM +- tag: VCSM diff --git a/BMW-Dynatrace-config/CD_VCSM/notification/README.md b/BMW-Dynatrace-config/CD_VCSM/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/notification/email.json b/BMW-Dynatrace-config/CD_VCSM/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/notification/itsm.json b/BMW-Dynatrace-config/CD_VCSM/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_VCSM/notification/msTeams.json b/BMW-Dynatrace-config/CD_VCSM/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/notification/notification.yaml b/BMW-Dynatrace-config/CD_VCSM/notification/notification.yaml new file mode 100644 index 00000000..f8b5c6d4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDVCSM: msTeams.json +- CDVCSMITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDVCSM.EMEA-Prod: +- name: CD_VCSM PROD +- alertingProfile: CD_VCSM/alerting-profile/CDVCSM.id +- webhook: https://empty +- skipDeployment: "true" +CDVCSM.NA-Prod: +- name: CD_VCSM PROD +- alertingProfile: CD_VCSM/alerting-profile/CDVCSM.id +- webhook: https://empty +- skipDeployment: "true" +CDVCSM.CN-Prod: +- name: CD_VCSM PROD +- alertingProfile: CD_VCSM/alerting-profile/CDVCSM.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDVCSM.EMEA-PreProd: +- name: CD_VCSM INT +- alertingProfile: CD_VCSM/alerting-profile/CDVCSM.id +- webhook: https://empty +- skipDeployment: "true" +CDVCSM.NA-PreProd: +- name: CD_VCSM INT +- alertingProfile: CD_VCSM/alerting-profile/CDVCSM.id +- webhook: https://empty +- skipDeployment: "true" +CDVCSM.CN-PreProd: +- name: CD_VCSM INT +- alertingProfile: CD_VCSM/alerting-profile/CDVCSM.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDVCSMITSM.EMEA-Prod: +- name: CD_VCSM ITSM PROD +- alertingProfile: CD_VCSM/alerting-profile/CDVCSM.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VCSM/management-zone/CDVCSM.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVCSMITSM.NA-Prod: +- name: CD_VCSM ITSM PROD +- alertingProfile: CD_VCSM/alerting-profile/CDVCSM.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VCSM/management-zone/CDVCSM.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDVCSMITSM.CN-Prod: +- name: CD_VCSM ITSM PROD +- alertingProfile: CD_VCSM/alerting-profile/CDVCSM.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VCSM/management-zone/CDVCSM.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVCSMITSM.EMEA-PreProd: +- name: CD_VCSM ITSM INT +- alertingProfile: CD_VCSM/alerting-profile/CDVCSM.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VCSM/management-zone/CDVCSM.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVCSMITSM.NA-PreProd: +- name: CD_VCSM ITSM INT +- alertingProfile: CD_VCSM/alerting-profile/CDVCSM.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VCSM/management-zone/CDVCSM.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDVCSMITSM.CN-PreProd: +- name: CD_VCSM ITSM INT +- alertingProfile: CD_VCSM/alerting-profile/CDVCSM.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VCSM/management-zone/CDVCSM.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VCSM/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VCSM/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VCSM/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VCSM/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..a725daff --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- VCSM: default.json + +VCSM: +- name: CD_VCSM - +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_XCC/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..d64d7bf4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDXCC: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDXCC.EMEA-Prod: +- name: CD_XCC PROD +- tag: XCC +- mzId: CD_XCC/management-zone/CDXCC.id +- env: PROD +- skipDeployment: "false" +CDXCC.NA-Prod: +- name: CD_XCC PROD +- tag: XCC +- mzId: CD_XCC/management-zone/CDXCC.id +- env: PROD +- skipDeployment: "false" +CDXCC.CN-Prod: +- name: CD_XCC PROD +- tag: XCC +- mzId: CD_XCC/management-zone/CDXCC.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDXCC.EMEA-PreProd: +- name: CD_XCC INT +- tag: XCC +- mzId: CD_XCC/management-zone/CDXCC.id +- env: INT +- skipDeployment: "false" +CDXCC.NA-PreProd: +- name: CD_XCC INT +- tag: XCC +- mzId: CD_XCC/management-zone/CDXCC.id +- env: INT +- skipDeployment: "false" +CDXCC.CN-PreProd: +- name: CD_XCC INT +- tag: XCC +- mzId: CD_XCC/management-zone/CDXCC.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/alerting-profile/default.json b/BMW-Dynatrace-config/CD_XCC/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_XCC/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_XCC/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_XCC/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..abbbf5cf --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDXCC: template.json + +CDXCC: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: XCC +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_XCC/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_XCC/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_XCC/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_XCC/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..abbbf5cf --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDXCC: template.json + +CDXCC: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: XCC +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_XCC/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_XCC/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/custom-service-java/README.md b/BMW-Dynatrace-config/CD_XCC/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_XCC/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_XCC/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/dashboard/README.md b/BMW-Dynatrace-config/CD_XCC/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_XCC/dashboard/dashboard.yaml new file mode 100644 index 00000000..88ffae50 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/dashboard/dashboard.yaml @@ -0,0 +1,125 @@ +config: +- CDXCC-PROD: default.json +- CDXCC-E2E: default.json +- CDXCC-INT: default.json +- CDXCC-TEST: default.json + +#PROD dashboards for EMEA/NA/CN Prod +CDXCC-PROD: +- name: CD_XCC PROD +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: PROD +- skipDeployment: "true" +CDXCC-PROD.EMEA-Prod: +- name: CD_XCC PROD +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: PROD +- skipDeployment: "false" +CDXCC-PROD.NA-Prod: +- name: CD_XCC PROD +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: PROD +- skipDeployment: "false" +CDXCC-PROD.CN-Prod: +- name: CD_XCC PROD +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDXCC-E2E: +- name: CD_XCC E2E +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: E2E +- skipDeployment: "true" +CDXCC-E2E.EMEA-Prod: +- name: CD_XCC E2E +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: E2E +- skipDeployment: "false" +CDXCC-E2E.NA-Prod: +- name: CD_XCC E2E +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: E2E +- skipDeployment: "false" +CDXCC-E2E.CN-Prod: +- name: CD_XCC E2E +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDXCC-INT: +- name: CD_XCC INT +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: INT +- skipDeployment: "true" +CDXCC-INT.EMEA-PreProd: +- name: CD_XCC INT +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: INT +- skipDeployment: "false" +CDXCC-INT.NA-PreProd: +- name: CD_XCC INT +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: INT +- skipDeployment: "false" +CDXCC-INT.CN-PreProd: +- name: CD_XCC INT +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDXCC-TEST: +- name: CD_XCC TEST +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: TEST +- skipDeployment: "true" +CDXCC-TEST.EMEA-PreProd: +- name: CD_XCC TEST +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: TEST +- skipDeployment: "false" +CDXCC-TEST.NA-PreProd: +- name: CD_XCC TEST +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: TEST +- skipDeployment: "false" +CDXCC-TEST.CN-PreProd: +- name: CD_XCC TEST +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/dashboard/default.json b/BMW-Dynatrace-config/CD_XCC/dashboard/default.json new file mode 100644 index 00000000..ef07d18c --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/dashboard/default.json @@ -0,0 +1,309 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.tag}}" + ], + "preset": true + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {} + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/management-zone/README.md b/BMW-Dynatrace-config/CD_XCC/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/management-zone/README.md @@ -0,0 +1,4 @@ + +### How to configure management zones? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/management-zone/default.json b/BMW-Dynatrace-config/CD_XCC/management-zone/default.json new file mode 100644 index 00000000..bffa0c3b --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/management-zone/default.json @@ -0,0 +1,114 @@ +{ + "dimensionalRules": [], + "name": "{{.name}}", + "rules": [ + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "HOST_TAGS" + } + } + ], + "enabled": true, + "type": "HOST" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAMESPACE_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION_NAMESPACE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION" + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_XCC/management-zone/management-zone.yaml new file mode 100644 index 00000000..80bc766a --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDXCC: default.json + +CDXCC: +- name: CD_XCC +- tag: XCC diff --git a/BMW-Dynatrace-config/CD_XCC/notification/README.md b/BMW-Dynatrace-config/CD_XCC/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/notification/email.json b/BMW-Dynatrace-config/CD_XCC/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/notification/itsm.json b/BMW-Dynatrace-config/CD_XCC/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_XCC/notification/msTeams.json b/BMW-Dynatrace-config/CD_XCC/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/notification/notification.yaml b/BMW-Dynatrace-config/CD_XCC/notification/notification.yaml new file mode 100644 index 00000000..29143264 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDXCC: msTeams.json +- CDXCCITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDXCC.EMEA-Prod: +- name: CD_XCC PROD +- alertingProfile: CD_XCC/alerting-profile/CDXCC.id +- webhook: https://empty +- skipDeployment: "true" +CDXCC.NA-Prod: +- name: CD_XCC PROD +- alertingProfile: CD_XCC/alerting-profile/CDXCC.id +- webhook: https://empty +- skipDeployment: "true" +CDXCC.CN-Prod: +- name: CD_XCC PROD +- alertingProfile: CD_XCC/alerting-profile/CDXCC.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDXCC.EMEA-PreProd: +- name: CD_XCC INT +- alertingProfile: CD_XCC/alerting-profile/CDXCC.id +- webhook: https://empty +- skipDeployment: "true" +CDXCC.NA-PreProd: +- name: CD_XCC INT +- alertingProfile: CD_XCC/alerting-profile/CDXCC.id +- webhook: https://empty +- skipDeployment: "true" +CDXCC.CN-PreProd: +- name: CD_XCC INT +- alertingProfile: CD_XCC/alerting-profile/CDXCC.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDXCCITSM.EMEA-Prod: +- name: CD_XCC ITSM PROD +- alertingProfile: CD_XCC/alerting-profile/CDXCC.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_XCC/management-zone/CDXCC.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDXCCITSM.NA-Prod: +- name: CD_XCC ITSM PROD +- alertingProfile: CD_XCC/alerting-profile/CDXCC.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_XCC/management-zone/CDXCC.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDXCCITSM.CN-Prod: +- name: CD_XCC ITSM PROD +- alertingProfile: CD_XCC/alerting-profile/CDXCC.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_XCC/management-zone/CDXCC.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDXCCITSM.EMEA-PreProd: +- name: CD_XCC ITSM INT +- alertingProfile: CD_XCC/alerting-profile/CDXCC.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_XCC/management-zone/CDXCC.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDXCCITSM.NA-PreProd: +- name: CD_XCC ITSM INT +- alertingProfile: CD_XCC/alerting-profile/CDXCC.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_XCC/management-zone/CDXCC.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDXCCITSM.CN-PreProd: +- name: CD_XCC ITSM INT +- alertingProfile: CD_XCC/alerting-profile/CDXCC.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_XCC/management-zone/CDXCC.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_XCC/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_XCC/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_XCC/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_XCC/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..750875bc --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- XCC: default.json + +XCC: +- name: CD_XCC - +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ccc/dashboard/default copy.json b/BMW-Dynatrace-config/CD_ccc/dashboard/default copy.json new file mode 100644 index 00000000..6c685810 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ccc/dashboard/default copy.json @@ -0,0 +1,308 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.tag}}" + ] + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {} + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ccc/dashboard/default.json b/BMW-Dynatrace-config/CD_ccc/dashboard/default.json index 6c685810..96995020 100644 --- a/BMW-Dynatrace-config/CD_ccc/dashboard/default.json +++ b/BMW-Dynatrace-config/CD_ccc/dashboard/default.json @@ -1,9 +1,9 @@ { "metadata": { "configurationVersions": [ - 3 + 5 ], - "clusterVersion": "1.214.107.20210407-223952" + "clusterVersion": "1.226.91.20210918-122217" }, "dashboardMetadata": { "name": "{{.name}}", @@ -13,8 +13,9 @@ "timeframe": "-24h to now" }, "tags": [ - "{{.tag}}" - ] + "ccc" + ], + "preset": true }, "tiles": [ { @@ -72,7 +73,7 @@ "SERVICE": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "ms-id:ccc " ] } } @@ -189,7 +190,7 @@ "SERVICE": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "ms-id:ccc " ] } } @@ -233,7 +234,7 @@ "DATABASE": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "Component:ccc" ] } } @@ -265,7 +266,7 @@ "SERVICE": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "ms-id:ccc " ] } } @@ -297,7 +298,7 @@ "HOST": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "Component:Call Center Client" ] } } diff --git a/BMW-Dynatrace-config/CD_oclisc2v/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_oclisc2v/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..dda0e11e --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDOCLIS_c2v: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDOCLIS_c2v.EMEA-Prod: +- name: CD_OCLISc2v PROD +- tag: OCLIS_c2v +- mzId: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- env: PROD +- skipDeployment: "false" +CDOCLIS_c2v.NA-Prod: +- name: CD_OCLISc2v PROD +- tag: OCLIS_c2v +- mzId: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- env: PROD +- skipDeployment: "false" +CDOCLIS_c2v.CN-Prod: +- name: CD_OCLISc2v PROD +- tag: OCLIS_c2v +- mzId: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDOCLIS_c2v.EMEA-PreProd: +- name: CD_OCLISc2v INT +- tag: OCLIS_c2v +- mzId: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- env: INT +- skipDeployment: "false" +CDOCLIS_c2v.NA-PreProd: +- name: CD_OCLISc2v INT +- tag: OCLIS_c2v +- mzId: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- env: INT +- skipDeployment: "false" +CDOCLIS_c2v.CN-PreProd: +- name: CD_OCLISc2v INT +- tag: OCLIS_c2v +- mzId: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/alerting-profile/default.json b/BMW-Dynatrace-config/CD_oclisc2v/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_oclisc2v/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..f2b45e5d --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDOCLIS_c2v: template.json + +CDOCLIS_c2v: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: OCLIS_c2v +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..f2b45e5d --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDOCLIS_c2v: template.json + +CDOCLIS_c2v: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: OCLIS_c2v +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/custom-service-java/README.md b/BMW-Dynatrace-config/CD_oclisc2v/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_oclisc2v/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_oclisc2v/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/notification/README.md b/BMW-Dynatrace-config/CD_oclisc2v/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/notification/email.json b/BMW-Dynatrace-config/CD_oclisc2v/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/notification/itsm.json b/BMW-Dynatrace-config/CD_oclisc2v/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_oclisc2v/notification/msTeams.json b/BMW-Dynatrace-config/CD_oclisc2v/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/notification/notification.yaml b/BMW-Dynatrace-config/CD_oclisc2v/notification/notification.yaml new file mode 100644 index 00000000..26cc5d29 --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDOCLIS_c2v: msTeams.json +- CDOCLIS_c2vITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDOCLIS_c2v.EMEA-Prod: +- name: CD_OCLISc2v PROD +- alertingProfile: CD_OCLISc2v/alerting-profile/CDOCLIS_c2v.id +- webhook: https://empty +- skipDeployment: "true" +CDOCLIS_c2v.NA-Prod: +- name: CD_OCLISc2v PROD +- alertingProfile: CD_OCLISc2v/alerting-profile/CDOCLIS_c2v.id +- webhook: https://empty +- skipDeployment: "true" +CDOCLIS_c2v.CN-Prod: +- name: CD_OCLISc2v PROD +- alertingProfile: CD_OCLISc2v/alerting-profile/CDOCLIS_c2v.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDOCLIS_c2v.EMEA-PreProd: +- name: CD_OCLISc2v INT +- alertingProfile: CD_OCLISc2v/alerting-profile/CDOCLIS_c2v.id +- webhook: https://empty +- skipDeployment: "true" +CDOCLIS_c2v.NA-PreProd: +- name: CD_OCLISc2v INT +- alertingProfile: CD_OCLISc2v/alerting-profile/CDOCLIS_c2v.id +- webhook: https://empty +- skipDeployment: "true" +CDOCLIS_c2v.CN-PreProd: +- name: CD_OCLISc2v INT +- alertingProfile: CD_OCLISc2v/alerting-profile/CDOCLIS_c2v.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDOCLIS_c2vITSM.EMEA-Prod: +- name: CD_OCLISc2v ITSM PROD +- alertingProfile: CD_OCLISc2v/alerting-profile/CDOCLIS_c2v.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDOCLIS_c2vITSM.NA-Prod: +- name: CD_OCLISc2v ITSM PROD +- alertingProfile: CD_OCLISc2v/alerting-profile/CDOCLIS_c2v.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDOCLIS_c2vITSM.CN-Prod: +- name: CD_OCLISc2v ITSM PROD +- alertingProfile: CD_OCLISc2v/alerting-profile/CDOCLIS_c2v.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDOCLIS_c2vITSM.EMEA-PreProd: +- name: CD_OCLISc2v ITSM INT +- alertingProfile: CD_OCLISc2v/alerting-profile/CDOCLIS_c2v.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDOCLIS_c2vITSM.NA-PreProd: +- name: CD_OCLISc2v ITSM INT +- alertingProfile: CD_OCLISc2v/alerting-profile/CDOCLIS_c2v.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDOCLIS_c2vITSM.CN-PreProd: +- name: CD_OCLISc2v ITSM INT +- alertingProfile: CD_OCLISc2v/alerting-profile/CDOCLIS_c2v.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_oclisc2v/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_oclisc2v/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_oclisc2v/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_oclisc2v/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..d6a7794e --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- OCLIS_c2v: default.json + +OCLIS_c2v: +- name: CD_OCLISc2v - +- mzName: CD_OCLISc2v/management-zone/CDOCLIS_c2v.name +- mzId: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_smc2-bl/management-zone/default.json b/BMW-Dynatrace-config/CD_smc2-bl/management-zone/default.json index bffa0c3b..7980a336 100644 --- a/BMW-Dynatrace-config/CD_smc2-bl/management-zone/default.json +++ b/BMW-Dynatrace-config/CD_smc2-bl/management-zone/default.json @@ -109,6 +109,32 @@ "enabled": true, "propagationTypes": [], "type": "CLOUD_APPLICATION" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "ms-id", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS", + "type": "STATIC" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_HOST_LIKE", + "SERVICE_TO_PROCESS_GROUP_LIKE" + ], + "type": "SERVICE" } ] } \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_smc2-key-trk/management-zone/default.json b/BMW-Dynatrace-config/CD_smc2-key-trk/management-zone/default.json index bffa0c3b..7980a336 100644 --- a/BMW-Dynatrace-config/CD_smc2-key-trk/management-zone/default.json +++ b/BMW-Dynatrace-config/CD_smc2-key-trk/management-zone/default.json @@ -109,6 +109,32 @@ "enabled": true, "propagationTypes": [], "type": "CLOUD_APPLICATION" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "ms-id", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS", + "type": "STATIC" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_HOST_LIKE", + "SERVICE_TO_PROCESS_GROUP_LIKE" + ], + "type": "SERVICE" } ] } \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_tsmb/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..092aa8ef --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDtsmb: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDtsmb.EMEA-Prod: +- name: CD_tsmb PROD +- tag: tsmb +- mzId: CD_tsmb/management-zone/CDtsmb.id +- env: PROD +- skipDeployment: "false" +CDtsmb.NA-Prod: +- name: CD_tsmb PROD +- tag: tsmb +- mzId: CD_tsmb/management-zone/CDtsmb.id +- env: PROD +- skipDeployment: "false" +CDtsmb.CN-Prod: +- name: CD_tsmb PROD +- tag: tsmb +- mzId: CD_tsmb/management-zone/CDtsmb.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDtsmb.EMEA-PreProd: +- name: CD_tsmb INT +- tag: tsmb +- mzId: CD_tsmb/management-zone/CDtsmb.id +- env: INT +- skipDeployment: "false" +CDtsmb.NA-PreProd: +- name: CD_tsmb INT +- tag: tsmb +- mzId: CD_tsmb/management-zone/CDtsmb.id +- env: INT +- skipDeployment: "false" +CDtsmb.CN-PreProd: +- name: CD_tsmb INT +- tag: tsmb +- mzId: CD_tsmb/management-zone/CDtsmb.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/alerting-profile/default.json b/BMW-Dynatrace-config/CD_tsmb/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_tsmb/calculated-metrics-service/README.md new file mode 100644 index 00000000..9c2a1f2e --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..519727bf --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..7f350b36 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDtsmb: template.json + +CDtsmb: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: tsmb +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/README.md new file mode 100644 index 00000000..b6f10ae1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..7f350b36 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDtsmb: template.json + +CDtsmb: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: tsmb +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/custom-service-java/README.md b/BMW-Dynatrace-config/CD_tsmb/custom-service-java/README.md new file mode 100644 index 00000000..5f35e5c1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_tsmb/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_tsmb/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/notification/README.md b/BMW-Dynatrace-config/CD_tsmb/notification/README.md new file mode 100644 index 00000000..37cb85bc --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/notification/email.json b/BMW-Dynatrace-config/CD_tsmb/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/notification/itsm.json b/BMW-Dynatrace-config/CD_tsmb/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_tsmb/notification/msTeams.json b/BMW-Dynatrace-config/CD_tsmb/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/notification/notification.yaml b/BMW-Dynatrace-config/CD_tsmb/notification/notification.yaml new file mode 100644 index 00000000..3255b7ad --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDtsmb: msTeams.json +- CDtsmbITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDtsmb.EMEA-Prod: +- name: CD_tsmb PROD +- alertingProfile: CD_tsmb/alerting-profile/CDtsmb.id +- webhook: https://empty +- skipDeployment: "true" +CDtsmb.NA-Prod: +- name: CD_tsmb PROD +- alertingProfile: CD_tsmb/alerting-profile/CDtsmb.id +- webhook: https://empty +- skipDeployment: "true" +CDtsmb.CN-Prod: +- name: CD_tsmb PROD +- alertingProfile: CD_tsmb/alerting-profile/CDtsmb.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDtsmb.EMEA-PreProd: +- name: CD_tsmb INT +- alertingProfile: CD_tsmb/alerting-profile/CDtsmb.id +- webhook: https://empty +- skipDeployment: "true" +CDtsmb.NA-PreProd: +- name: CD_tsmb INT +- alertingProfile: CD_tsmb/alerting-profile/CDtsmb.id +- webhook: https://empty +- skipDeployment: "true" +CDtsmb.CN-PreProd: +- name: CD_tsmb INT +- alertingProfile: CD_tsmb/alerting-profile/CDtsmb.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDtsmbITSM.EMEA-Prod: +- name: CD_tsmb ITSM PROD +- alertingProfile: CD_tsmb/alerting-profile/CDtsmb.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsmb/management-zone/CDtsmb.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDtsmbITSM.NA-Prod: +- name: CD_tsmb ITSM PROD +- alertingProfile: CD_tsmb/alerting-profile/CDtsmb.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsmb/management-zone/CDtsmb.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDtsmbITSM.CN-Prod: +- name: CD_tsmb ITSM PROD +- alertingProfile: CD_tsmb/alerting-profile/CDtsmb.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsmb/management-zone/CDtsmb.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDtsmbITSM.EMEA-PreProd: +- name: CD_tsmb ITSM INT +- alertingProfile: CD_tsmb/alerting-profile/CDtsmb.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsmb/management-zone/CDtsmb.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDtsmbITSM.NA-PreProd: +- name: CD_tsmb ITSM INT +- alertingProfile: CD_tsmb/alerting-profile/CDtsmb.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsmb/management-zone/CDtsmb.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDtsmbITSM.CN-PreProd: +- name: CD_tsmb ITSM INT +- alertingProfile: CD_tsmb/alerting-profile/CDtsmb.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsmb/management-zone/CDtsmb.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_tsmb/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_tsmb/synthetic-monitor/README.md new file mode 100644 index 00000000..1695924c --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_tsmb/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_tsmb/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..1d0040f4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- tsmb: default.json + +tsmb: +- name: CD_tsmb - +- mzName: CD_tsmb/management-zone/CDtsmb.name +- mzId: CD_tsmb/management-zone/CDtsmb.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_tsr-dd/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..30a7aa3a --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDtsr-dd: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDtsr-dd.EMEA-Prod: +- name: CD_tsr-dd PROD +- tag: tsr-dd +- mzId: CD_tsr-dd/management-zone/CDtsr-dd.id +- env: PROD +- skipDeployment: "false" +CDtsr-dd.NA-Prod: +- name: CD_tsr-dd PROD +- tag: tsr-dd +- mzId: CD_tsr-dd/management-zone/CDtsr-dd.id +- env: PROD +- skipDeployment: "false" +CDtsr-dd.CN-Prod: +- name: CD_tsr-dd PROD +- tag: tsr-dd +- mzId: CD_tsr-dd/management-zone/CDtsr-dd.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDtsr-dd.EMEA-PreProd: +- name: CD_tsr-dd INT +- tag: tsr-dd +- mzId: CD_tsr-dd/management-zone/CDtsr-dd.id +- env: INT +- skipDeployment: "false" +CDtsr-dd.NA-PreProd: +- name: CD_tsr-dd INT +- tag: tsr-dd +- mzId: CD_tsr-dd/management-zone/CDtsr-dd.id +- env: INT +- skipDeployment: "false" +CDtsr-dd.CN-PreProd: +- name: CD_tsr-dd INT +- tag: tsr-dd +- mzId: CD_tsr-dd/management-zone/CDtsr-dd.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/alerting-profile/default.json b/BMW-Dynatrace-config/CD_tsr-dd/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_tsr-dd/calculated-metrics-service/README.md new file mode 100644 index 00000000..9c2a1f2e --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..519727bf --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..a57f1303 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDtsr-dd: template.json + +CDtsr-dd: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: tsr-dd +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/README.md new file mode 100644 index 00000000..b6f10ae1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..a57f1303 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDtsr-dd: template.json + +CDtsr-dd: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: tsr-dd +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/custom-service-java/README.md b/BMW-Dynatrace-config/CD_tsr-dd/custom-service-java/README.md new file mode 100644 index 00000000..5f35e5c1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_tsr-dd/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_tsr-dd/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/notification/README.md b/BMW-Dynatrace-config/CD_tsr-dd/notification/README.md new file mode 100644 index 00000000..37cb85bc --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/notification/email.json b/BMW-Dynatrace-config/CD_tsr-dd/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/notification/itsm.json b/BMW-Dynatrace-config/CD_tsr-dd/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_tsr-dd/notification/msTeams.json b/BMW-Dynatrace-config/CD_tsr-dd/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/notification/notification.yaml b/BMW-Dynatrace-config/CD_tsr-dd/notification/notification.yaml new file mode 100644 index 00000000..41d1c4ba --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDtsr-dd: msTeams.json +- CDtsr-ddITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDtsr-dd.EMEA-Prod: +- name: CD_tsr-dd PROD +- alertingProfile: CD_tsr-dd/alerting-profile/CDtsr-dd.id +- webhook: https://empty +- skipDeployment: "true" +CDtsr-dd.NA-Prod: +- name: CD_tsr-dd PROD +- alertingProfile: CD_tsr-dd/alerting-profile/CDtsr-dd.id +- webhook: https://empty +- skipDeployment: "true" +CDtsr-dd.CN-Prod: +- name: CD_tsr-dd PROD +- alertingProfile: CD_tsr-dd/alerting-profile/CDtsr-dd.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDtsr-dd.EMEA-PreProd: +- name: CD_tsr-dd INT +- alertingProfile: CD_tsr-dd/alerting-profile/CDtsr-dd.id +- webhook: https://empty +- skipDeployment: "true" +CDtsr-dd.NA-PreProd: +- name: CD_tsr-dd INT +- alertingProfile: CD_tsr-dd/alerting-profile/CDtsr-dd.id +- webhook: https://empty +- skipDeployment: "true" +CDtsr-dd.CN-PreProd: +- name: CD_tsr-dd INT +- alertingProfile: CD_tsr-dd/alerting-profile/CDtsr-dd.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDtsr-ddITSM.EMEA-Prod: +- name: CD_tsr-dd ITSM PROD +- alertingProfile: CD_tsr-dd/alerting-profile/CDtsr-dd.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsr-dd/management-zone/CDtsr-dd.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDtsr-ddITSM.NA-Prod: +- name: CD_tsr-dd ITSM PROD +- alertingProfile: CD_tsr-dd/alerting-profile/CDtsr-dd.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsr-dd/management-zone/CDtsr-dd.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDtsr-ddITSM.CN-Prod: +- name: CD_tsr-dd ITSM PROD +- alertingProfile: CD_tsr-dd/alerting-profile/CDtsr-dd.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsr-dd/management-zone/CDtsr-dd.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDtsr-ddITSM.EMEA-PreProd: +- name: CD_tsr-dd ITSM INT +- alertingProfile: CD_tsr-dd/alerting-profile/CDtsr-dd.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsr-dd/management-zone/CDtsr-dd.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDtsr-ddITSM.NA-PreProd: +- name: CD_tsr-dd ITSM INT +- alertingProfile: CD_tsr-dd/alerting-profile/CDtsr-dd.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsr-dd/management-zone/CDtsr-dd.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDtsr-ddITSM.CN-PreProd: +- name: CD_tsr-dd ITSM INT +- alertingProfile: CD_tsr-dd/alerting-profile/CDtsr-dd.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsr-dd/management-zone/CDtsr-dd.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_tsr-dd/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_tsr-dd/synthetic-monitor/README.md new file mode 100644 index 00000000..1695924c --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_tsr-dd/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_tsr-dd/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..7d047ccd --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- tsr-dd: default.json + +tsr-dd: +- name: CD_tsr-dd - +- mzName: CD_tsr-dd/management-zone/CDtsr-dd.name +- mzId: CD_tsr-dd/management-zone/CDtsr-dd.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_tsr-vu/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..38e3238f --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDtsr-vu: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDtsr-vu.EMEA-Prod: +- name: CD_tsr-vu PROD +- tag: tsr-vu +- mzId: CD_tsr-vu/management-zone/CDtsr-vu.id +- env: PROD +- skipDeployment: "false" +CDtsr-vu.NA-Prod: +- name: CD_tsr-vu PROD +- tag: tsr-vu +- mzId: CD_tsr-vu/management-zone/CDtsr-vu.id +- env: PROD +- skipDeployment: "false" +CDtsr-vu.CN-Prod: +- name: CD_tsr-vu PROD +- tag: tsr-vu +- mzId: CD_tsr-vu/management-zone/CDtsr-vu.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDtsr-vu.EMEA-PreProd: +- name: CD_tsr-vu INT +- tag: tsr-vu +- mzId: CD_tsr-vu/management-zone/CDtsr-vu.id +- env: INT +- skipDeployment: "false" +CDtsr-vu.NA-PreProd: +- name: CD_tsr-vu INT +- tag: tsr-vu +- mzId: CD_tsr-vu/management-zone/CDtsr-vu.id +- env: INT +- skipDeployment: "false" +CDtsr-vu.CN-PreProd: +- name: CD_tsr-vu INT +- tag: tsr-vu +- mzId: CD_tsr-vu/management-zone/CDtsr-vu.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/alerting-profile/default.json b/BMW-Dynatrace-config/CD_tsr-vu/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_tsr-vu/calculated-metrics-service/README.md new file mode 100644 index 00000000..9c2a1f2e --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..519727bf --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..de0cd3cf --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDtsr-vu: template.json + +CDtsr-vu: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: tsr-vu +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/README.md new file mode 100644 index 00000000..b6f10ae1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..de0cd3cf --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDtsr-vu: template.json + +CDtsr-vu: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: tsr-vu +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/custom-service-java/README.md b/BMW-Dynatrace-config/CD_tsr-vu/custom-service-java/README.md new file mode 100644 index 00000000..5f35e5c1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_tsr-vu/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_tsr-vu/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/notification/README.md b/BMW-Dynatrace-config/CD_tsr-vu/notification/README.md new file mode 100644 index 00000000..37cb85bc --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/notification/email.json b/BMW-Dynatrace-config/CD_tsr-vu/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/notification/itsm.json b/BMW-Dynatrace-config/CD_tsr-vu/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_tsr-vu/notification/msTeams.json b/BMW-Dynatrace-config/CD_tsr-vu/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/notification/notification.yaml b/BMW-Dynatrace-config/CD_tsr-vu/notification/notification.yaml new file mode 100644 index 00000000..2ed59d61 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDtsr-vu: msTeams.json +- CDtsr-vuITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDtsr-vu.EMEA-Prod: +- name: CD_tsr-vu PROD +- alertingProfile: CD_tsr-vu/alerting-profile/CDtsr-vu.id +- webhook: https://empty +- skipDeployment: "true" +CDtsr-vu.NA-Prod: +- name: CD_tsr-vu PROD +- alertingProfile: CD_tsr-vu/alerting-profile/CDtsr-vu.id +- webhook: https://empty +- skipDeployment: "true" +CDtsr-vu.CN-Prod: +- name: CD_tsr-vu PROD +- alertingProfile: CD_tsr-vu/alerting-profile/CDtsr-vu.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDtsr-vu.EMEA-PreProd: +- name: CD_tsr-vu INT +- alertingProfile: CD_tsr-vu/alerting-profile/CDtsr-vu.id +- webhook: https://empty +- skipDeployment: "true" +CDtsr-vu.NA-PreProd: +- name: CD_tsr-vu INT +- alertingProfile: CD_tsr-vu/alerting-profile/CDtsr-vu.id +- webhook: https://empty +- skipDeployment: "true" +CDtsr-vu.CN-PreProd: +- name: CD_tsr-vu INT +- alertingProfile: CD_tsr-vu/alerting-profile/CDtsr-vu.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDtsr-vuITSM.EMEA-Prod: +- name: CD_tsr-vu ITSM PROD +- alertingProfile: CD_tsr-vu/alerting-profile/CDtsr-vu.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsr-vu/management-zone/CDtsr-vu.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDtsr-vuITSM.NA-Prod: +- name: CD_tsr-vu ITSM PROD +- alertingProfile: CD_tsr-vu/alerting-profile/CDtsr-vu.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsr-vu/management-zone/CDtsr-vu.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDtsr-vuITSM.CN-Prod: +- name: CD_tsr-vu ITSM PROD +- alertingProfile: CD_tsr-vu/alerting-profile/CDtsr-vu.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsr-vu/management-zone/CDtsr-vu.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDtsr-vuITSM.EMEA-PreProd: +- name: CD_tsr-vu ITSM INT +- alertingProfile: CD_tsr-vu/alerting-profile/CDtsr-vu.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsr-vu/management-zone/CDtsr-vu.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDtsr-vuITSM.NA-PreProd: +- name: CD_tsr-vu ITSM INT +- alertingProfile: CD_tsr-vu/alerting-profile/CDtsr-vu.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsr-vu/management-zone/CDtsr-vu.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDtsr-vuITSM.CN-PreProd: +- name: CD_tsr-vu ITSM INT +- alertingProfile: CD_tsr-vu/alerting-profile/CDtsr-vu.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsr-vu/management-zone/CDtsr-vu.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_tsr-vu/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_tsr-vu/synthetic-monitor/README.md new file mode 100644 index 00000000..1695924c --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_tsr-vu/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_tsr-vu/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..89eedcd1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- tsr-vu: default.json + +tsr-vu: +- name: CD_tsr-vu - +- mzName: CD_tsr-vu/management-zone/CDtsr-vu.name +- mzId: CD_tsr-vu/management-zone/CDtsr-vu.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_vps-admin/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..e778e9fc --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDVPS-Admin: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDVPS-Admin.EMEA-Prod: +- name: CD_VPS-Admin PROD +- tag: VPS-Admin +- mzId: CD_vps-admin/management-zone/CDvps-admin.id +- env: PROD +- skipDeployment: "false" +CDVPS-Admin.NA-Prod: +- name: CD_VPS-Admin PROD +- tag: VPS-Admin +- mzId: CD_vps-admin/management-zone/CDvps-admin.id +- env: PROD +- skipDeployment: "false" +CDVPS-Admin.CN-Prod: +- name: CD_VPS-Admin PROD +- tag: VPS-Admin +- mzId: CD_vps-admin/management-zone/CDvps-admin.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDVPS-Admin.EMEA-PreProd: +- name: CD_VPS-Admin INT +- tag: VPS-Admin +- mzId: CD_vps-admin/management-zone/CDvps-admin.id +- env: INT +- skipDeployment: "false" +CDVPS-Admin.NA-PreProd: +- name: CD_VPS-Admin INT +- tag: VPS-Admin +- mzId: CD_vps-admin/management-zone/CDvps-admin.id +- env: INT +- skipDeployment: "false" +CDVPS-Admin.CN-PreProd: +- name: CD_VPS-Admin INT +- tag: VPS-Admin +- mzId: CD_vps-admin/management-zone/CDvps-admin.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/alerting-profile/default.json b/BMW-Dynatrace-config/CD_vps-admin/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_vps-admin/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..08f61419 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDVPS-Admin: template.json + +CDVPS-Admin: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: VPS-Admin +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..08f61419 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDVPS-Admin: template.json + +CDVPS-Admin: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: VPS-Admin +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/custom-service-java/README.md b/BMW-Dynatrace-config/CD_vps-admin/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_vps-admin/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_vps-admin/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/notification/README.md b/BMW-Dynatrace-config/CD_vps-admin/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/notification/email.json b/BMW-Dynatrace-config/CD_vps-admin/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/notification/itsm.json b/BMW-Dynatrace-config/CD_vps-admin/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_vps-admin/notification/msTeams.json b/BMW-Dynatrace-config/CD_vps-admin/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/notification/notification.yaml b/BMW-Dynatrace-config/CD_vps-admin/notification/notification.yaml new file mode 100644 index 00000000..050830b1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDVPS-Admin: msTeams.json +- CDVPS-AdminITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDVPS-Admin.EMEA-Prod: +- name: CD_VPS-Admin PROD +- alertingProfile: CD_VPS-Admin/alerting-profile/CDVPS-Admin.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Admin.NA-Prod: +- name: CD_VPS-Admin PROD +- alertingProfile: CD_VPS-Admin/alerting-profile/CDVPS-Admin.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Admin.CN-Prod: +- name: CD_VPS-Admin PROD +- alertingProfile: CD_VPS-Admin/alerting-profile/CDVPS-Admin.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDVPS-Admin.EMEA-PreProd: +- name: CD_VPS-Admin INT +- alertingProfile: CD_VPS-Admin/alerting-profile/CDVPS-Admin.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Admin.NA-PreProd: +- name: CD_VPS-Admin INT +- alertingProfile: CD_VPS-Admin/alerting-profile/CDVPS-Admin.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Admin.CN-PreProd: +- name: CD_VPS-Admin INT +- alertingProfile: CD_VPS-Admin/alerting-profile/CDVPS-Admin.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDVPS-AdminITSM.EMEA-Prod: +- name: CD_VPS-Admin ITSM PROD +- alertingProfile: CD_VPS-Admin/alerting-profile/CDVPS-Admin.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Admin/management-zone/CDVPS-Admin.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-AdminITSM.NA-Prod: +- name: CD_VPS-Admin ITSM PROD +- alertingProfile: CD_VPS-Admin/alerting-profile/CDVPS-Admin.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Admin/management-zone/CDVPS-Admin.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDVPS-AdminITSM.CN-Prod: +- name: CD_VPS-Admin ITSM PROD +- alertingProfile: CD_VPS-Admin/alerting-profile/CDVPS-Admin.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Admin/management-zone/CDVPS-Admin.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-AdminITSM.EMEA-PreProd: +- name: CD_VPS-Admin ITSM INT +- alertingProfile: CD_VPS-Admin/alerting-profile/CDVPS-Admin.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Admin/management-zone/CDVPS-Admin.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-AdminITSM.NA-PreProd: +- name: CD_VPS-Admin ITSM INT +- alertingProfile: CD_VPS-Admin/alerting-profile/CDVPS-Admin.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Admin/management-zone/CDVPS-Admin.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDVPS-AdminITSM.CN-PreProd: +- name: CD_VPS-Admin ITSM INT +- alertingProfile: CD_VPS-Admin/alerting-profile/CDVPS-Admin.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Admin/management-zone/CDVPS-Admin.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_vps-admin/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_vps-admin/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_vps-admin/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_vps-admin/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..e05f5870 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- VPS-Admin: default.json + +VPS-Admin: +- name: CD_VPS-Admin - +- mzName: CD_vps-admin/management-zone/CDvps-admin.name +- mzId: CD_vps-admin/management-zone/CDvps-admin.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_vps-archive/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..433d274b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDVPS-Archive: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDVPS-Archive.EMEA-Prod: +- name: CD_VPS-Archive PROD +- tag: VPS-Archive +- mzId: CD_vps-archive/management-zone/CDvps-archive.id +- env: PROD +- skipDeployment: "false" +CDVPS-Archive.NA-Prod: +- name: CD_VPS-Archive PROD +- tag: VPS-Archive +- mzId: CD_vps-archive/management-zone/CDvps-archive.id +- env: PROD +- skipDeployment: "false" +CDVPS-Archive.CN-Prod: +- name: CD_VPS-Archive PROD +- tag: VPS-Archive +- mzId: CD_vps-archive/management-zone/CDvps-archive.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDVPS-Archive.EMEA-PreProd: +- name: CD_VPS-Archive INT +- tag: VPS-Archive +- mzId: CD_vps-archive/management-zone/CDvps-archive.id +- env: INT +- skipDeployment: "false" +CDVPS-Archive.NA-PreProd: +- name: CD_VPS-Archive INT +- tag: VPS-Archive +- mzId: CD_vps-archive/management-zone/CDvps-archive.id +- env: INT +- skipDeployment: "false" +CDVPS-Archive.CN-PreProd: +- name: CD_VPS-Archive INT +- tag: VPS-Archive +- mzId: CD_vps-archive/management-zone/CDvps-archive.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/alerting-profile/default.json b/BMW-Dynatrace-config/CD_vps-archive/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_vps-archive/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..a2e4029f --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDVPS-Archive: template.json + +CDVPS-Archive: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: VPS-Archive +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..a2e4029f --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDVPS-Archive: template.json + +CDVPS-Archive: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: VPS-Archive +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/custom-service-java/README.md b/BMW-Dynatrace-config/CD_vps-archive/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_vps-archive/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_vps-archive/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/notification/README.md b/BMW-Dynatrace-config/CD_vps-archive/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/notification/email.json b/BMW-Dynatrace-config/CD_vps-archive/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/notification/itsm.json b/BMW-Dynatrace-config/CD_vps-archive/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_vps-archive/notification/msTeams.json b/BMW-Dynatrace-config/CD_vps-archive/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/notification/notification.yaml b/BMW-Dynatrace-config/CD_vps-archive/notification/notification.yaml new file mode 100644 index 00000000..311299c0 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDVPS-Archive: msTeams.json +- CDVPS-ArchiveITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDVPS-Archive.EMEA-Prod: +- name: CD_VPS-Archive PROD +- alertingProfile: CD_VPS-Archive/alerting-profile/CDVPS-Archive.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Archive.NA-Prod: +- name: CD_VPS-Archive PROD +- alertingProfile: CD_VPS-Archive/alerting-profile/CDVPS-Archive.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Archive.CN-Prod: +- name: CD_VPS-Archive PROD +- alertingProfile: CD_VPS-Archive/alerting-profile/CDVPS-Archive.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDVPS-Archive.EMEA-PreProd: +- name: CD_VPS-Archive INT +- alertingProfile: CD_VPS-Archive/alerting-profile/CDVPS-Archive.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Archive.NA-PreProd: +- name: CD_VPS-Archive INT +- alertingProfile: CD_VPS-Archive/alerting-profile/CDVPS-Archive.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Archive.CN-PreProd: +- name: CD_VPS-Archive INT +- alertingProfile: CD_VPS-Archive/alerting-profile/CDVPS-Archive.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDVPS-ArchiveITSM.EMEA-Prod: +- name: CD_VPS-Archive ITSM PROD +- alertingProfile: CD_VPS-Archive/alerting-profile/CDVPS-Archive.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Archive/management-zone/CDVPS-Archive.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-ArchiveITSM.NA-Prod: +- name: CD_VPS-Archive ITSM PROD +- alertingProfile: CD_VPS-Archive/alerting-profile/CDVPS-Archive.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Archive/management-zone/CDVPS-Archive.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDVPS-ArchiveITSM.CN-Prod: +- name: CD_VPS-Archive ITSM PROD +- alertingProfile: CD_VPS-Archive/alerting-profile/CDVPS-Archive.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Archive/management-zone/CDVPS-Archive.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-ArchiveITSM.EMEA-PreProd: +- name: CD_VPS-Archive ITSM INT +- alertingProfile: CD_VPS-Archive/alerting-profile/CDVPS-Archive.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Archive/management-zone/CDVPS-Archive.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-ArchiveITSM.NA-PreProd: +- name: CD_VPS-Archive ITSM INT +- alertingProfile: CD_VPS-Archive/alerting-profile/CDVPS-Archive.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Archive/management-zone/CDVPS-Archive.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDVPS-ArchiveITSM.CN-PreProd: +- name: CD_VPS-Archive ITSM INT +- alertingProfile: CD_VPS-Archive/alerting-profile/CDVPS-Archive.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Archive/management-zone/CDVPS-Archive.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_vps-archive/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_vps-archive/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_vps-archive/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_vps-archive/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..5bdfa4a8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- VPS-Archive: default.json + +VPS-Archive: +- name: CD_VPS-Archive - +- mzName: CD_vps-archive/management-zone/CDvps-archive.name +- mzId: CD_vps-archive/management-zone/CDvps-archive.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_vps-monitor/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..93562d36 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDVPS-Monitor: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDVPS-Monitor.EMEA-Prod: +- name: CD_VPS-Monitor PROD +- tag: VPS-Monitor +- mzId: CD_vps-monitor/management-zone/CDvps-monitor.id +- env: PROD +- skipDeployment: "false" +CDVPS-Monitor.NA-Prod: +- name: CD_VPS-Monitor PROD +- tag: VPS-Monitor +- mzId: CD_vps-monitor/management-zone/CDvps-monitor.id +- env: PROD +- skipDeployment: "false" +CDVPS-Monitor.CN-Prod: +- name: CD_VPS-Monitor PROD +- tag: VPS-Monitor +- mzId: CD_vps-monitor/management-zone/CDvps-monitor.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDVPS-Monitor.EMEA-PreProd: +- name: CD_VPS-Monitor INT +- tag: VPS-Monitor +- mzId: CD_vps-monitor/management-zone/CDvps-monitor.id +- env: INT +- skipDeployment: "false" +CDVPS-Monitor.NA-PreProd: +- name: CD_VPS-Monitor INT +- tag: VPS-Monitor +- mzId: CD_vps-monitor/management-zone/CDvps-monitor.id +- env: INT +- skipDeployment: "false" +CDVPS-Monitor.CN-PreProd: +- name: CD_VPS-Monitor INT +- tag: VPS-Monitor +- mzId: CD_vps-monitor/management-zone/CDvps-monitor.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/alerting-profile/default.json b/BMW-Dynatrace-config/CD_vps-monitor/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_vps-monitor/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..49f541b9 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDVPS-Monitor: template.json + +CDVPS-Monitor: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: VPS-Monitor +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..49f541b9 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDVPS-Monitor: template.json + +CDVPS-Monitor: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: VPS-Monitor +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/custom-service-java/README.md b/BMW-Dynatrace-config/CD_vps-monitor/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_vps-monitor/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_vps-monitor/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/notification/README.md b/BMW-Dynatrace-config/CD_vps-monitor/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/notification/email.json b/BMW-Dynatrace-config/CD_vps-monitor/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/notification/itsm.json b/BMW-Dynatrace-config/CD_vps-monitor/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_vps-monitor/notification/msTeams.json b/BMW-Dynatrace-config/CD_vps-monitor/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/notification/notification.yaml b/BMW-Dynatrace-config/CD_vps-monitor/notification/notification.yaml new file mode 100644 index 00000000..9d8c6c9c --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDVPS-Monitor: msTeams.json +- CDVPS-MonitorITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDVPS-Monitor.EMEA-Prod: +- name: CD_VPS-Monitor PROD +- alertingProfile: CD_VPS-Monitor/alerting-profile/CDVPS-Monitor.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Monitor.NA-Prod: +- name: CD_VPS-Monitor PROD +- alertingProfile: CD_VPS-Monitor/alerting-profile/CDVPS-Monitor.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Monitor.CN-Prod: +- name: CD_VPS-Monitor PROD +- alertingProfile: CD_VPS-Monitor/alerting-profile/CDVPS-Monitor.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDVPS-Monitor.EMEA-PreProd: +- name: CD_VPS-Monitor INT +- alertingProfile: CD_VPS-Monitor/alerting-profile/CDVPS-Monitor.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Monitor.NA-PreProd: +- name: CD_VPS-Monitor INT +- alertingProfile: CD_VPS-Monitor/alerting-profile/CDVPS-Monitor.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Monitor.CN-PreProd: +- name: CD_VPS-Monitor INT +- alertingProfile: CD_VPS-Monitor/alerting-profile/CDVPS-Monitor.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDVPS-MonitorITSM.EMEA-Prod: +- name: CD_VPS-Monitor ITSM PROD +- alertingProfile: CD_VPS-Monitor/alerting-profile/CDVPS-Monitor.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Monitor/management-zone/CDVPS-Monitor.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-MonitorITSM.NA-Prod: +- name: CD_VPS-Monitor ITSM PROD +- alertingProfile: CD_VPS-Monitor/alerting-profile/CDVPS-Monitor.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Monitor/management-zone/CDVPS-Monitor.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDVPS-MonitorITSM.CN-Prod: +- name: CD_VPS-Monitor ITSM PROD +- alertingProfile: CD_VPS-Monitor/alerting-profile/CDVPS-Monitor.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Monitor/management-zone/CDVPS-Monitor.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-MonitorITSM.EMEA-PreProd: +- name: CD_VPS-Monitor ITSM INT +- alertingProfile: CD_VPS-Monitor/alerting-profile/CDVPS-Monitor.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Monitor/management-zone/CDVPS-Monitor.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-MonitorITSM.NA-PreProd: +- name: CD_VPS-Monitor ITSM INT +- alertingProfile: CD_VPS-Monitor/alerting-profile/CDVPS-Monitor.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Monitor/management-zone/CDVPS-Monitor.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDVPS-MonitorITSM.CN-PreProd: +- name: CD_VPS-Monitor ITSM INT +- alertingProfile: CD_VPS-Monitor/alerting-profile/CDVPS-Monitor.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Monitor/management-zone/CDVPS-Monitor.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_vps-monitor/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_vps-monitor/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_vps-monitor/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_vps-monitor/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..0211a513 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- VPS-Monitor: default.json + +VPS-Monitor: +- name: CD_VPS-Monitor - +- mzName: CD_vps-monitor/management-zone/CDvps-monitor.name +- mzId: CD_vps-monitor/management-zone/CDvps-monitor.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_vps-prov/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..399d0914 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDVPS-Prov: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDVPS-Prov.EMEA-Prod: +- name: CD_VPS-Prov PROD +- tag: VPS-Prov +- mzId: CD_vps-prov/management-zone/CDvps-prov.id +- env: PROD +- skipDeployment: "false" +CDVPS-Prov.NA-Prod: +- name: CD_VPS-Prov PROD +- tag: VPS-Prov +- mzId: CD_vps-prov/management-zone/CDvps-prov.id +- env: PROD +- skipDeployment: "false" +CDVPS-Prov.CN-Prod: +- name: CD_VPS-Prov PROD +- tag: VPS-Prov +- mzId: CD_vps-prov/management-zone/CDvps-prov.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDVPS-Prov.EMEA-PreProd: +- name: CD_VPS-Prov INT +- tag: VPS-Prov +- mzId: CD_vps-prov/management-zone/CDvps-prov.id +- env: INT +- skipDeployment: "false" +CDVPS-Prov.NA-PreProd: +- name: CD_VPS-Prov INT +- tag: VPS-Prov +- mzId: CD_vps-prov/management-zone/CDvps-prov.id +- env: INT +- skipDeployment: "false" +CDVPS-Prov.CN-PreProd: +- name: CD_VPS-Prov INT +- tag: VPS-Prov +- mzId: CD_vps-prov/management-zone/CDvps-prov.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/alerting-profile/default.json b/BMW-Dynatrace-config/CD_vps-prov/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_vps-prov/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..281bc79b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDVPS-Prov: template.json + +CDVPS-Prov: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: VPS-Prov +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..281bc79b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDVPS-Prov: template.json + +CDVPS-Prov: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: VPS-Prov +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/notification/README.md b/BMW-Dynatrace-config/CD_vps-prov/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/notification/email.json b/BMW-Dynatrace-config/CD_vps-prov/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/notification/itsm.json b/BMW-Dynatrace-config/CD_vps-prov/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_vps-prov/notification/msTeams.json b/BMW-Dynatrace-config/CD_vps-prov/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/notification/notification.yaml b/BMW-Dynatrace-config/CD_vps-prov/notification/notification.yaml new file mode 100644 index 00000000..379536ef --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDVPS-Prov: msTeams.json +- CDVPS-ProvITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDVPS-Prov.EMEA-Prod: +- name: CD_VPS-Prov PROD +- alertingProfile: CD_VPS-Prov/alerting-profile/CDVPS-Prov.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Prov.NA-Prod: +- name: CD_VPS-Prov PROD +- alertingProfile: CD_VPS-Prov/alerting-profile/CDVPS-Prov.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Prov.CN-Prod: +- name: CD_VPS-Prov PROD +- alertingProfile: CD_VPS-Prov/alerting-profile/CDVPS-Prov.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDVPS-Prov.EMEA-PreProd: +- name: CD_VPS-Prov INT +- alertingProfile: CD_VPS-Prov/alerting-profile/CDVPS-Prov.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Prov.NA-PreProd: +- name: CD_VPS-Prov INT +- alertingProfile: CD_VPS-Prov/alerting-profile/CDVPS-Prov.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Prov.CN-PreProd: +- name: CD_VPS-Prov INT +- alertingProfile: CD_VPS-Prov/alerting-profile/CDVPS-Prov.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDVPS-ProvITSM.EMEA-Prod: +- name: CD_VPS-Prov ITSM PROD +- alertingProfile: CD_VPS-Prov/alerting-profile/CDVPS-Prov.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Prov/management-zone/CDVPS-Prov.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-ProvITSM.NA-Prod: +- name: CD_VPS-Prov ITSM PROD +- alertingProfile: CD_VPS-Prov/alerting-profile/CDVPS-Prov.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Prov/management-zone/CDVPS-Prov.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDVPS-ProvITSM.CN-Prod: +- name: CD_VPS-Prov ITSM PROD +- alertingProfile: CD_VPS-Prov/alerting-profile/CDVPS-Prov.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Prov/management-zone/CDVPS-Prov.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-ProvITSM.EMEA-PreProd: +- name: CD_VPS-Prov ITSM INT +- alertingProfile: CD_VPS-Prov/alerting-profile/CDVPS-Prov.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Prov/management-zone/CDVPS-Prov.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-ProvITSM.NA-PreProd: +- name: CD_VPS-Prov ITSM INT +- alertingProfile: CD_VPS-Prov/alerting-profile/CDVPS-Prov.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Prov/management-zone/CDVPS-Prov.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDVPS-ProvITSM.CN-PreProd: +- name: CD_VPS-Prov ITSM INT +- alertingProfile: CD_VPS-Prov/alerting-profile/CDVPS-Prov.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Prov/management-zone/CDVPS-Prov.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_vps-prov/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_vps-prov/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_vps-prov/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_vps-prov/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..16f957c5 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- VPS-Prov: default.json + +VPS-Prov: +- name: CD_VPS-Prov - +- mzName: CD_vps-prov/management-zone/CDvps-prov.name +- mzId: CD_vps-prov/management-zone/CDvps-prov.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_vps-trigger/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..26971a05 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDVPS-Trigger: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDVPS-Trigger.EMEA-Prod: +- name: CD_VPS-Trigger PROD +- tag: VPS-Trigger +- mzId: CD_vps-trigger/management-zone/CDvps-trigger.id +- env: PROD +- skipDeployment: "false" +CDVPS-Trigger.NA-Prod: +- name: CD_VPS-Trigger PROD +- tag: VPS-Trigger +- mzId: CD_vps-trigger/management-zone/CDvps-trigger.id +- env: PROD +- skipDeployment: "false" +CDVPS-Trigger.CN-Prod: +- name: CD_VPS-Trigger PROD +- tag: VPS-Trigger +- mzId: CD_vps-trigger/management-zone/CDvps-trigger.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDVPS-Trigger.EMEA-PreProd: +- name: CD_VPS-Trigger INT +- tag: VPS-Trigger +- mzId: CD_vps-trigger/management-zone/CDvps-trigger.id +- env: INT +- skipDeployment: "false" +CDVPS-Trigger.NA-PreProd: +- name: CD_VPS-Trigger INT +- tag: VPS-Trigger +- mzId: CD_vps-trigger/management-zone/CDvps-trigger.id +- env: INT +- skipDeployment: "false" +CDVPS-Trigger.CN-PreProd: +- name: CD_VPS-Trigger INT +- tag: VPS-Trigger +- mzId: CD_vps-trigger/management-zone/CDvps-trigger.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/alerting-profile/default.json b/BMW-Dynatrace-config/CD_vps-trigger/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_vps-trigger/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..da4c6e46 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDVPS-Trigger: template.json + +CDVPS-Trigger: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: VPS-Trigger +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..da4c6e46 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDVPS-Trigger: template.json + +CDVPS-Trigger: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: VPS-Trigger +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/custom-service-java/README.md b/BMW-Dynatrace-config/CD_vps-trigger/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_vps-trigger/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_vps-trigger/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/notification/README.md b/BMW-Dynatrace-config/CD_vps-trigger/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/notification/email.json b/BMW-Dynatrace-config/CD_vps-trigger/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/notification/itsm.json b/BMW-Dynatrace-config/CD_vps-trigger/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_vps-trigger/notification/msTeams.json b/BMW-Dynatrace-config/CD_vps-trigger/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/notification/notification.yaml b/BMW-Dynatrace-config/CD_vps-trigger/notification/notification.yaml new file mode 100644 index 00000000..942b79cc --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDVPS-Trigger: msTeams.json +- CDVPS-TriggerITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDVPS-Trigger.EMEA-Prod: +- name: CD_VPS-Trigger PROD +- alertingProfile: CD_VPS-Trigger/alerting-profile/CDVPS-Trigger.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Trigger.NA-Prod: +- name: CD_VPS-Trigger PROD +- alertingProfile: CD_VPS-Trigger/alerting-profile/CDVPS-Trigger.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Trigger.CN-Prod: +- name: CD_VPS-Trigger PROD +- alertingProfile: CD_VPS-Trigger/alerting-profile/CDVPS-Trigger.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDVPS-Trigger.EMEA-PreProd: +- name: CD_VPS-Trigger INT +- alertingProfile: CD_VPS-Trigger/alerting-profile/CDVPS-Trigger.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Trigger.NA-PreProd: +- name: CD_VPS-Trigger INT +- alertingProfile: CD_VPS-Trigger/alerting-profile/CDVPS-Trigger.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Trigger.CN-PreProd: +- name: CD_VPS-Trigger INT +- alertingProfile: CD_VPS-Trigger/alerting-profile/CDVPS-Trigger.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDVPS-TriggerITSM.EMEA-Prod: +- name: CD_VPS-Trigger ITSM PROD +- alertingProfile: CD_VPS-Trigger/alerting-profile/CDVPS-Trigger.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-TriggerITSM.NA-Prod: +- name: CD_VPS-Trigger ITSM PROD +- alertingProfile: CD_VPS-Trigger/alerting-profile/CDVPS-Trigger.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDVPS-TriggerITSM.CN-Prod: +- name: CD_VPS-Trigger ITSM PROD +- alertingProfile: CD_VPS-Trigger/alerting-profile/CDVPS-Trigger.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-TriggerITSM.EMEA-PreProd: +- name: CD_VPS-Trigger ITSM INT +- alertingProfile: CD_VPS-Trigger/alerting-profile/CDVPS-Trigger.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-TriggerITSM.NA-PreProd: +- name: CD_VPS-Trigger ITSM INT +- alertingProfile: CD_VPS-Trigger/alerting-profile/CDVPS-Trigger.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDVPS-TriggerITSM.CN-PreProd: +- name: CD_VPS-Trigger ITSM INT +- alertingProfile: CD_VPS-Trigger/alerting-profile/CDVPS-Trigger.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..d60c55ab --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- VPS-Trigger: default.json + +VPS-Trigger: +- name: CD_VPS-Trigger - +- mzName: CD_vps-trigger/management-zone/CDvps-trigger.name +- mzId: CD_vps-trigger/management-zone/CDvps-trigger.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_wus/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_wus/dashboard/dashboard.yaml index 22c0ddab..1790a198 100644 --- a/BMW-Dynatrace-config/CD_wus/dashboard/dashboard.yaml +++ b/BMW-Dynatrace-config/CD_wus/dashboard/dashboard.yaml @@ -11,6 +11,7 @@ CDwus-PROD: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: PROD +- msid: WUS - skipDeployment: "true" CDwus-PROD.EMEA-Prod: - name: CD_wus PROD @@ -18,6 +19,7 @@ CDwus-PROD.EMEA-Prod: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: PROD +- msid: WUS - skipDeployment: "false" CDwus-PROD.NA-Prod: - name: CD_wus PROD @@ -25,6 +27,7 @@ CDwus-PROD.NA-Prod: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: PROD +- msid: WUS - skipDeployment: "false" CDwus-PROD.CN-Prod: - name: CD_wus PROD @@ -32,6 +35,7 @@ CDwus-PROD.CN-Prod: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: PROD +- msid: WUS - skipDeployment: "false" #E2E dashboards for EMEA/NA/CN Prod @@ -41,6 +45,7 @@ CDwus-E2E: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: E2E +- msid: WUS - skipDeployment: "true" CDwus-E2E.EMEA-Prod: - name: CD_wus E2E @@ -48,6 +53,7 @@ CDwus-E2E.EMEA-Prod: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: E2E +- msid: WUS - skipDeployment: "false" CDwus-E2E.NA-Prod: - name: CD_wus E2E @@ -55,6 +61,7 @@ CDwus-E2E.NA-Prod: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: E2E +- msid: WUS - skipDeployment: "false" CDwus-E2E.CN-Prod: - name: CD_wus E2E @@ -62,6 +69,7 @@ CDwus-E2E.CN-Prod: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: E2E +- msid: WUS - skipDeployment: "false" #INT dashboards for EMEA/NA/CN PreProd @@ -71,6 +79,7 @@ CDwus-INT: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: INT +- msid: WUS - skipDeployment: "true" CDwus-INT.EMEA-PreProd: - name: CD_wus INT @@ -78,6 +87,7 @@ CDwus-INT.EMEA-PreProd: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: INT +- msid: WUS - skipDeployment: "false" CDwus-INT.NA-PreProd: - name: CD_wus INT @@ -85,6 +95,7 @@ CDwus-INT.NA-PreProd: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: INT +- msid: WUS - skipDeployment: "false" CDwus-INT.CN-PreProd: - name: CD_wus INT @@ -92,6 +103,7 @@ CDwus-INT.CN-PreProd: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: INT +- msid: WUS - skipDeployment: "false" #TEST dashboards for EMEA/NA/CN PreProd @@ -101,6 +113,7 @@ CDwus-TEST: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: TEST +- msid: WUS - skipDeployment: "true" CDwus-TEST.EMEA-PreProd: - name: CD_wus TEST @@ -108,6 +121,7 @@ CDwus-TEST.EMEA-PreProd: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: TEST +- msid: WUS - skipDeployment: "false" CDwus-TEST.NA-PreProd: - name: CD_wus TEST @@ -115,6 +129,7 @@ CDwus-TEST.NA-PreProd: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: TEST +- msid: WUS - skipDeployment: "false" CDwus-TEST.CN-PreProd: - name: CD_wus TEST @@ -122,4 +137,5 @@ CDwus-TEST.CN-PreProd: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: TEST +- msid: WUS - skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_wus/dashboard/default.json b/BMW-Dynatrace-config/CD_wus/dashboard/default.json index 6c685810..8121b678 100644 --- a/BMW-Dynatrace-config/CD_wus/dashboard/default.json +++ b/BMW-Dynatrace-config/CD_wus/dashboard/default.json @@ -14,7 +14,8 @@ }, "tags": [ "{{.tag}}" - ] + ], + "preset": true }, "tiles": [ { @@ -72,7 +73,7 @@ "SERVICE": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "ms-id:{{.msid}}" ] } } @@ -189,7 +190,7 @@ "SERVICE": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "ms-id:{{.msid}}" ] } } @@ -233,7 +234,7 @@ "DATABASE": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "ms-id:{{.msid}}" ] } } @@ -265,7 +266,7 @@ "SERVICE": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "ms-id:{{.msid}}" ] } } @@ -297,7 +298,7 @@ "HOST": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "ms-id:{{.msid}}" ] } } diff --git a/environment.yaml b/environment.yaml index 7478966e..6af64c8a 100644 --- a/environment.yaml +++ b/environment.yaml @@ -20,10 +20,10 @@ NA-PreProd: CN-Prod: - name: "CN-Prod" - - env-url: "https://dynatracemgd-cn.bmwgroup.net/e/b921f1b9-c00e-4031-b9d1-f5a0d530757b" + - env-url: "https://dynatracemgd-cn.bmwgroup.net/e/b921f1b9-c00e-4031-b9d1-f5a0d530757b@PROXY" - env-token-name: "CN_Prod_TOKEN" CN-PreProd: - name: "CN-PreProd" - - env-url: "https://dynatracemgd-cn.bmwgroup.net/e/ab88c03b-b7fc-45f0-9115-9e9ecc0ced35" + - env-url: "https://dynatracemgd-cn.bmwgroup.net/e/ab88c03b-b7fc-45f0-9115-9e9ecc0ced35@PROXY" - env-token-name: "CN_PreProd_TOKEN" \ No newline at end of file