From d4dd5398af57deffce273ec037ba67f92297e9fd Mon Sep 17 00:00:00 2001 From: qxz15oi Date: Mon, 26 Apr 2021 11:55:58 +0200 Subject: [PATCH] removing process/service naming from Global, removing test config, updating global config --- .../00_Global-Config/auto-tag/Component.json | 160 +++++++++ .../00_Global-Config/auto-tag/app-id.json | 29 +- .../00_Global-Config/auto-tag/app-name.json | 29 +- .../00_Global-Config/auto-tag/compass-id.json | 29 +- .../00_Global-Config/auto-tag/ms-id.json | 29 +- .../CDPerseusRequestcount.json | 44 +++ .../HttpStatus.json | 53 +++ .../Perseus-HTTP5XX.json | 58 ++++ .../calculated-metrics-service/README.md | 22 -- .../Template_FilterReq.json | 41 +++ .../Template_FilterReqAttr.json | 44 +++ .../Template_FilterService.json | 41 +++ .../Template_FilterTag.json | 44 +++ .../calculated-metrics-service.yaml | 47 +++ .../ASBC-RSU.json | 29 -- .../ASBC-SMACC.json | 29 -- .../ApacheWebServers.json | 53 --- ...llingBuffet-Microservices-FullPodname.json | 43 --- .../CDIPrenaming.json | 41 --- .../KubernetesNaming.json | 43 --- .../conditional-naming-processgroup.yaml | 22 -- .../AzureRuntimeservicename-DLY.json | 41 --- .../AzureRuntimeservicename-INT.json | 41 --- .../AzureRuntimeservicename-PROD.json | 41 --- .../AzureRuntimeservicename-TEST.json | 41 --- .../BASEservicename-environment.json | 41 --- .../ClassicITservicename-E2E.json | 44 --- .../ClassicITservicename-INT.json | 44 --- .../ClassicITservicename-PROD.json | 44 --- .../ClassicITservicename-TEST.json | 44 --- .../VoiceServices-epldb-namingE2E.json | 37 --- .../VoiceServices-epldb-namingPROD.json | 37 --- .../conditional-naming-service.yaml | 37 --- .../custom-service-java/DPP-JOYNR.json | 19 +- .../custom-service-java/LSCWorkerKafkaIN.json | 2 - .../VoiceServices-DBCleanUpTimer.json | 43 +++ .../custom-service-java.yaml | 9 +- .../request-attributes/keyType.json | 34 ++ .../request-attributes.yaml | 3 + .../synthetic-location/BMW-AWS-Frankfurt.json | 19 ++ .../synthetic-location/BMW-DCOnPrem-MUC.json | 19 ++ .../synthetic-location.yaml | 18 + .../alerting-profile/alerting-profile.yaml | 60 ---- .../alerting-profile/default.json | 103 ------ .../calculated-metrics-service/README.md | 10 - .../custom-service-java/README.md | 30 -- .../custom-service-java.yaml | 9 - .../custom-service-java/template-1-1.json | 23 -- .../CD_managementZone/dashboard/README.md | 13 - .../dashboard/dashboard.yaml | 127 -------- .../CD_managementZone/dashboard/default.json | 308 ------------------ .../management-zone/README.md | 76 ----- .../management-zone/default.json | 76 ----- .../management-zone/management-zone.yaml | 6 - .../CD_managementZone/notification/README.md | 60 ---- .../CD_managementZone/notification/email.json | 13 - .../notification/msTeams.json | 11 - .../notification/notification.yaml | 51 --- .../synthetic-monitor/README.md | 37 --- .../synthetic-monitor/default.json | 82 ----- .../synthetic-monitor/synthetic-monitor.yaml | 10 - README - Full.md | 112 ------- README - Runtime.md | 73 ----- README - Testing.md | 41 --- .../calculated-metrics-service/README.md | 10 +- .../conditional-naming-processgroup/README.md | 67 ++++ .../conditional-naming-processgroup.yaml | 8 + .../template.json | 6 +- .../conditional-naming-service/README.md | 35 ++ .../conditional-naming-service.yaml | 8 + .../conditional-naming-service/template.json | 8 +- .../custom-service-java/README.md | 30 +- .../management-zone/default.json | 38 +++ .../synthetic-monitor/README.md | 37 +-- 74 files changed, 959 insertions(+), 2207 deletions(-) create mode 100644 BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/CDPerseusRequestcount.json create mode 100644 BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/HttpStatus.json create mode 100644 BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/Perseus-HTTP5XX.json delete mode 100644 BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/README.md create mode 100644 BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/Template_FilterReq.json create mode 100644 BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/Template_FilterReqAttr.json create mode 100644 BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/Template_FilterService.json create mode 100644 BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/Template_FilterTag.json delete mode 100644 BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/ASBC-RSU.json delete mode 100644 BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/ASBC-SMACC.json delete mode 100644 BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/ApacheWebServers.json delete mode 100644 BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/BillingBuffet-Microservices-FullPodname.json delete mode 100644 BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/CDIPrenaming.json delete mode 100644 BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/KubernetesNaming.json delete mode 100644 BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/conditional-naming-processgroup.yaml delete mode 100644 BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/AzureRuntimeservicename-DLY.json delete mode 100644 BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/AzureRuntimeservicename-INT.json delete mode 100644 BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/AzureRuntimeservicename-PROD.json delete mode 100644 BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/AzureRuntimeservicename-TEST.json delete mode 100644 BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/BASEservicename-environment.json delete mode 100644 BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/ClassicITservicename-E2E.json delete mode 100644 BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/ClassicITservicename-INT.json delete mode 100644 BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/ClassicITservicename-PROD.json delete mode 100644 BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/ClassicITservicename-TEST.json delete mode 100644 BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/VoiceServices-epldb-namingE2E.json delete mode 100644 BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/VoiceServices-epldb-namingPROD.json delete mode 100644 BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/conditional-naming-service.yaml create mode 100644 BMW-Dynatrace-config/00_Global-Config/custom-service-java/VoiceServices-DBCleanUpTimer.json create mode 100644 BMW-Dynatrace-config/00_Global-Config/request-attributes/keyType.json create mode 100644 BMW-Dynatrace-config/00_Global-Config/synthetic-location/BMW-AWS-Frankfurt.json create mode 100644 BMW-Dynatrace-config/00_Global-Config/synthetic-location/BMW-DCOnPrem-MUC.json create mode 100644 BMW-Dynatrace-config/00_Global-Config/synthetic-location/synthetic-location.yaml delete mode 100644 BMW-Dynatrace-config/CD_ABC/CD_managementZone/alerting-profile/alerting-profile.yaml delete mode 100644 BMW-Dynatrace-config/CD_ABC/CD_managementZone/alerting-profile/default.json delete mode 100644 BMW-Dynatrace-config/CD_ABC/CD_managementZone/calculated-metrics-service/README.md delete mode 100644 BMW-Dynatrace-config/CD_ABC/CD_managementZone/custom-service-java/README.md delete mode 100644 BMW-Dynatrace-config/CD_ABC/CD_managementZone/custom-service-java/custom-service-java.yaml delete mode 100644 BMW-Dynatrace-config/CD_ABC/CD_managementZone/custom-service-java/template-1-1.json delete mode 100644 BMW-Dynatrace-config/CD_ABC/CD_managementZone/dashboard/README.md delete mode 100644 BMW-Dynatrace-config/CD_ABC/CD_managementZone/dashboard/dashboard.yaml delete mode 100644 BMW-Dynatrace-config/CD_ABC/CD_managementZone/dashboard/default.json delete mode 100644 BMW-Dynatrace-config/CD_ABC/CD_managementZone/management-zone/README.md delete mode 100644 BMW-Dynatrace-config/CD_ABC/CD_managementZone/management-zone/default.json delete mode 100644 BMW-Dynatrace-config/CD_ABC/CD_managementZone/management-zone/management-zone.yaml delete mode 100644 BMW-Dynatrace-config/CD_ABC/CD_managementZone/notification/README.md delete mode 100644 BMW-Dynatrace-config/CD_ABC/CD_managementZone/notification/email.json delete mode 100644 BMW-Dynatrace-config/CD_ABC/CD_managementZone/notification/msTeams.json delete mode 100644 BMW-Dynatrace-config/CD_ABC/CD_managementZone/notification/notification.yaml delete mode 100644 BMW-Dynatrace-config/CD_ABC/CD_managementZone/synthetic-monitor/README.md delete mode 100644 BMW-Dynatrace-config/CD_ABC/CD_managementZone/synthetic-monitor/default.json delete mode 100644 BMW-Dynatrace-config/CD_ABC/CD_managementZone/synthetic-monitor/synthetic-monitor.yaml delete mode 100644 README - Full.md delete mode 100644 README - Runtime.md delete mode 100644 README - Testing.md create mode 100644 onboarding/CD_managementZone/conditional-naming-processgroup/README.md create mode 100644 onboarding/CD_managementZone/conditional-naming-processgroup/conditional-naming-processgroup.yaml rename BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/ASBC-HAL.json => onboarding/CD_managementZone/conditional-naming-processgroup/template.json (72%) create mode 100644 onboarding/CD_managementZone/conditional-naming-service/README.md create mode 100644 onboarding/CD_managementZone/conditional-naming-service/conditional-naming-service.yaml rename BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/OpenShiftservicename-containername-environment.json => onboarding/CD_managementZone/conditional-naming-service/template.json (60%) 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 04681c78..e9cbd4ef 100644 --- a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json +++ b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json @@ -3370,6 +3370,166 @@ } } ] + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "ENDS_WITH", + "type": "STRING", + "value": "-prod" + }, + "key": { + "attribute": "PROCESS_GROUP_PREDEFINED_METADATA", + "dynamicKey": "KUBERNETES_NAMESPACE", + "type": "PROCESS_PREDEFINED_METADATA_KEY" + } + }, + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Platform", + "value": "OpenShift" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_HOST", + "PROCESS_GROUP_TO_SERVICE" + ], + "type": "PROCESS_GROUP", + "valueFormat": "{ProcessGroup:KubernetesNamespace/(.*?)-prod}" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "ENDS_WITH", + "type": "STRING", + "value": "-e2e" + }, + "key": { + "attribute": "PROCESS_GROUP_PREDEFINED_METADATA", + "dynamicKey": "KUBERNETES_NAMESPACE", + "type": "PROCESS_PREDEFINED_METADATA_KEY" + } + }, + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Platform", + "value": "OpenShift" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_HOST", + "PROCESS_GROUP_TO_SERVICE" + ], + "type": "PROCESS_GROUP", + "valueFormat": "{ProcessGroup:KubernetesNamespace/(.*?)-e2e}" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "ENDS_WITH", + "type": "STRING", + "value": "-int" + }, + "key": { + "attribute": "PROCESS_GROUP_PREDEFINED_METADATA", + "dynamicKey": "KUBERNETES_NAMESPACE", + "type": "PROCESS_PREDEFINED_METADATA_KEY" + } + }, + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Platform", + "value": "OpenShift" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_HOST", + "PROCESS_GROUP_TO_SERVICE" + ], + "type": "PROCESS_GROUP", + "valueFormat": "{ProcessGroup:KubernetesNamespace/(.*?)-int}" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "ENDS_WITH", + "type": "STRING", + "value": "-test" + }, + "key": { + "attribute": "PROCESS_GROUP_PREDEFINED_METADATA", + "dynamicKey": "KUBERNETES_NAMESPACE", + "type": "PROCESS_PREDEFINED_METADATA_KEY" + } + }, + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Platform", + "value": "OpenShift" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_HOST", + "PROCESS_GROUP_TO_SERVICE" + ], + "type": "PROCESS_GROUP", + "valueFormat": "{ProcessGroup:KubernetesNamespace/(.*?)-test}" + } ] } \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/auto-tag/app-id.json b/BMW-Dynatrace-config/00_Global-Config/auto-tag/app-id.json index d07afe74..ed22924c 100644 --- a/BMW-Dynatrace-config/00_Global-Config/auto-tag/app-id.json +++ b/BMW-Dynatrace-config/00_Global-Config/auto-tag/app-id.json @@ -1,6 +1,6 @@ { "metadata": { - "clusterVersion": "1.209.98.20210122-102634", + "clusterVersion": "1.214.107.20210407-223952", "configurationVersions": [ 7 ] @@ -57,6 +57,33 @@ ], "type": "PROCESS_GROUP", "valueFormat": "{ProcessGroup:CommandLineArgs/-Ddtapp-id=(.*?)#}" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": null, + "negate": false, + "operator": "EXISTS", + "type": "STRING", + "value": null + }, + "key": { + "attribute": "PROCESS_GROUP_CUSTOM_METADATA", + "dynamicKey": { + "key": "app-id", + "source": "ENVIRONMENT" + }, + "type": "PROCESS_CUSTOM_METADATA_KEY" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_SERVICE" + ], + "type": "PROCESS_GROUP", + "valueFormat": "{ProcessGroup:Environment:app-id}" } ] } \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/auto-tag/app-name.json b/BMW-Dynatrace-config/00_Global-Config/auto-tag/app-name.json index ef8e63dc..80ad1ae6 100644 --- a/BMW-Dynatrace-config/00_Global-Config/auto-tag/app-name.json +++ b/BMW-Dynatrace-config/00_Global-Config/auto-tag/app-name.json @@ -1,6 +1,6 @@ { "metadata": { - "clusterVersion": "1.209.98.20210122-102634", + "clusterVersion": "1.214.107.20210407-223952", "configurationVersions": [ 7 ] @@ -57,6 +57,33 @@ ], "type": "PROCESS_GROUP", "valueFormat": "{ProcessGroup:CommandLineArgs/-Ddtapp-name=(.*?)#}" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": null, + "negate": false, + "operator": "EXISTS", + "type": "STRING", + "value": null + }, + "key": { + "attribute": "PROCESS_GROUP_CUSTOM_METADATA", + "dynamicKey": { + "key": "app-name", + "source": "ENVIRONMENT" + }, + "type": "PROCESS_CUSTOM_METADATA_KEY" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_SERVICE" + ], + "type": "PROCESS_GROUP", + "valueFormat": "{ProcessGroup:Environment:app-name}" } ] } \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/auto-tag/compass-id.json b/BMW-Dynatrace-config/00_Global-Config/auto-tag/compass-id.json index 893652ea..80f164b3 100644 --- a/BMW-Dynatrace-config/00_Global-Config/auto-tag/compass-id.json +++ b/BMW-Dynatrace-config/00_Global-Config/auto-tag/compass-id.json @@ -1,6 +1,6 @@ { "metadata": { - "clusterVersion": "1.209.98.20210122-102634", + "clusterVersion": "1.214.107.20210407-223952", "configurationVersions": [ 7 ] @@ -57,6 +57,33 @@ ], "type": "PROCESS_GROUP", "valueFormat": "{ProcessGroup:CommandLineArgs/-Ddtcompass-id=(.*?)#}" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": null, + "negate": false, + "operator": "EXISTS", + "type": "STRING", + "value": null + }, + "key": { + "attribute": "PROCESS_GROUP_CUSTOM_METADATA", + "dynamicKey": { + "key": "compass-id", + "source": "ENVIRONMENT" + }, + "type": "PROCESS_CUSTOM_METADATA_KEY" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_SERVICE" + ], + "type": "PROCESS_GROUP", + "valueFormat": "{ProcessGroup:Environment:compass-id}" } ] } \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/auto-tag/ms-id.json b/BMW-Dynatrace-config/00_Global-Config/auto-tag/ms-id.json index 423d3517..3b463c5f 100644 --- a/BMW-Dynatrace-config/00_Global-Config/auto-tag/ms-id.json +++ b/BMW-Dynatrace-config/00_Global-Config/auto-tag/ms-id.json @@ -1,6 +1,6 @@ { "metadata": { - "clusterVersion": "1.209.98.20210122-102634", + "clusterVersion": "1.214.107.20210407-223952", "configurationVersions": [ 7 ] @@ -57,6 +57,33 @@ ], "type": "PROCESS_GROUP", "valueFormat": "{ProcessGroup:Kubernetes:ms-id}" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": null, + "negate": false, + "operator": "EXISTS", + "type": "STRING", + "value": null + }, + "key": { + "attribute": "PROCESS_GROUP_CUSTOM_METADATA", + "dynamicKey": { + "key": "ms-id", + "source": "ENVIRONMENT" + }, + "type": "PROCESS_CUSTOM_METADATA_KEY" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_SERVICE" + ], + "type": "PROCESS_GROUP", + "valueFormat": "{ProcessGroup:Environment:ms-id}" } ] } \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/CDPerseusRequestcount.json b/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/CDPerseusRequestcount.json new file mode 100644 index 00000000..036ffe03 --- /dev/null +++ b/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/CDPerseusRequestcount.json @@ -0,0 +1,44 @@ +{ + "conditions": [ + { + "attribute": "SERVICE_TAG", + "comparisonInfo": { + "comparison": "EQUALS", + "negate": false, + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "PROD" + } + } + } + ], + "dimensionDefinition": { + "dimension": "All requests", + "name": "Dimension", + "placeholders": [], + "topX": 10, + "topXAggregation": "SINGLE_VALUE", + "topXDirection": "DESCENDING" + }, + "enabled": true, + "entityId": null, + "managementZones": [ + "CD_Perseus" + ], + "metadata": { + "clusterVersion": "1.213.116.20210318-174118", + "configurationVersions": [ + 0 + ] + }, + "metricDefinition": { + "metric": "REQUEST_COUNT", + "requestAttribute": null + }, + "name": "{{.name}}", + "tsmMetricKey": "calc:service.cd_perseusrequestcount", + "unit": "COUNT", + "unitDisplayName": null +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/HttpStatus.json b/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/HttpStatus.json new file mode 100644 index 00000000..6fb4d417 --- /dev/null +++ b/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/HttpStatus.json @@ -0,0 +1,53 @@ +{ + "conditions": [ + { + "attribute": "SERVICE_TAG", + "comparisonInfo": { + "comparison": "EQUALS", + "negate": false, + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + } + }, + { + "attribute": "HTTP_STATUS", + "comparisonInfo": { + "comparison": "EXISTS", + "negate": false, + "type": "NUMBER", + "value": null + } + } + ], + "dimensionDefinition": { + "dimension": "{HTTP-Status}", + "name": "Dimension", + "placeholders": [], + "topX": 15, + "topXAggregation": "SINGLE_VALUE", + "topXDirection": "DESCENDING" + }, + "enabled": true, + "entityId": null, + "managementZones": [ + "{{.mz}}" + ], + "metadata": { + "clusterVersion": "1.210.97.20210210-140317", + "configurationVersions": [ + 0 + ] + }, + "metricDefinition": { + "metric": "REQUEST_COUNT", + "requestAttribute": null + }, + "name": "{{.name}}", + "tsmMetricKey": "{{.metricKey}}", + "unit": "COUNT", + "unitDisplayName": "" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/Perseus-HTTP5XX.json b/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/Perseus-HTTP5XX.json new file mode 100644 index 00000000..d06e9aaa --- /dev/null +++ b/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/Perseus-HTTP5XX.json @@ -0,0 +1,58 @@ +{ + "conditions": [ + { + "attribute": "SERVICE_TYPE", + "comparisonInfo": { + "comparison": "EQUALS", + "negate": false, + "type": "SERVICE_TYPE", + "value": "WEB_SERVICE" + } + }, + { + "attribute": "HTTP_STATUS", + "comparisonInfo": { + "comparison": "GREATER_THAN_OR_EQUAL", + "negate": false, + "type": "NUMBER", + "value": 500 + } + }, + { + "attribute": "HTTP_STATUS", + "comparisonInfo": { + "comparison": "LOWER_THAN_OR_EQUAL", + "negate": false, + "type": "NUMBER", + "value": 599 + } + } + ], + "dimensionDefinition": { + "dimension": "{HTTP-Status}", + "name": "Dimension", + "placeholders": [], + "topX": 10, + "topXAggregation": "SINGLE_VALUE", + "topXDirection": "DESCENDING" + }, + "enabled": true, + "entityId": null, + "managementZones": [ + "CD_Perseus" + ], + "metadata": { + "clusterVersion": "1.213.116.20210318-174118", + "configurationVersions": [ + 0 + ] + }, + "metricDefinition": { + "metric": "REQUEST_COUNT", + "requestAttribute": null + }, + "name": "{{.name}}", + "tsmMetricKey": "calc:service.perseus_http5xx", + "unit": "COUNT", + "unitDisplayName": null +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/README.md b/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/README.md deleted file mode 100644 index a6dfb9aa..00000000 --- a/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/README.md +++ /dev/null @@ -1,22 +0,0 @@ -## Custom Metrics - Multidimensional Analysis - -Dynatrace out-of-the-box metrics generally focus on availability, failure rate, and performance. -Of course, there are many other use cases for service metrics that are specific to a particular service, a particular customer, or for whatever reason have significant relevance for your business. - -You can create custom metrics using the Multidimensional Analysis (Diagnostic Tools > Create Analysis View). -You will be able to plot your custom metric and see if it's what you're expecting. - -To create the custom metric, follow these steps: - -1. Add the following line to the config - -- MyNewMetric: template-custom-metric.json - -2. Customize your metrics: - -MyNewMetric: -- name: cd_mycomponent ReqPerInstance -- mz: cd_mycomponent -- key: calc:service.cdmycomponentReqPerInstance -- splitByDimension: {Service:Instance} -- condition: diff --git a/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/Template_FilterReq.json b/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/Template_FilterReq.json new file mode 100644 index 00000000..06670552 --- /dev/null +++ b/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/Template_FilterReq.json @@ -0,0 +1,41 @@ +{ + "conditions": [ + { + "attribute": "REQUEST_NAME", + "comparisonInfo": { + "caseSensitive": false, + "comparison": "CONTAINS", + "negate": false, + "type": "STRING", + "value": "{{.request}}" + } + } + ], + "dimensionDefinition": { + "dimension": "{{.dimension}}", + "name": "Dimension", + "placeholders": [], + "topX": 15, + "topXAggregation": "SINGLE_VALUE", + "topXDirection": "DESCENDING" + }, + "enabled": true, + "entityId": null, + "managementZones": [ + "{{.mz}}" + ], + "metadata": { + "clusterVersion": "1.210.97.20210210-140317", + "configurationVersions": [ + 0 + ] + }, + "metricDefinition": { + "metric": "REQUEST_COUNT", + "requestAttribute": null + }, + "name": "{{.name}}", + "tsmMetricKey": "{{.metricKey}}", + "unit": "COUNT", + "unitDisplayName": "" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/Template_FilterReqAttr.json b/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/Template_FilterReqAttr.json new file mode 100644 index 00000000..a427d0b1 --- /dev/null +++ b/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/Template_FilterReqAttr.json @@ -0,0 +1,44 @@ +{ + "conditions": [ + { + "attribute": "SERVICE_REQUEST_ATTRIBUTE", + "comparisonInfo": { + "caseSensitive": false, + "comparison": "EXISTS", + "matchOnChildCalls": false, + "negate": false, + "requestAttribute": "{{.requestAttribute}}", + "source": null, + "type": "STRING_REQUEST_ATTRIBUTE", + "value": null + } + } + ], + "dimensionDefinition": { + "dimension": "{HTTP-Status}", + "name": "Dimension", + "placeholders": [], + "topX": 15, + "topXAggregation": "SINGLE_VALUE", + "topXDirection": "DESCENDING" + }, + "enabled": true, + "entityId": null, + "managementZones": [ + "{{.mz}}" + ], + "metadata": { + "clusterVersion": "1.210.97.20210210-140317", + "configurationVersions": [ + 0 + ] + }, + "metricDefinition": { + "metric": "REQUEST_COUNT", + "requestAttribute": null + }, + "name": "{{.name}}", + "tsmMetricKey": "{{.metricKey}}", + "unit": "COUNT", + "unitDisplayName": "" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/Template_FilterService.json b/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/Template_FilterService.json new file mode 100644 index 00000000..5aa806fa --- /dev/null +++ b/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/Template_FilterService.json @@ -0,0 +1,41 @@ +{ + "conditions": [ + { + "attribute": "SERVICE_DISPLAY_NAME", + "comparisonInfo": { + "caseSensitive": false, + "comparison": "CONTAINS", + "negate": false, + "type": "FAST_STRING", + "value": "{{.serviceName}}" + } + } + ], + "dimensionDefinition": { + "dimension": "{{.dimension}}", + "name": "Dimension", + "placeholders": [], + "topX": 15, + "topXAggregation": "SINGLE_VALUE", + "topXDirection": "DESCENDING" + }, + "enabled": true, + "entityId": null, + "managementZones": [ + "{{.mz}}" + ], + "metadata": { + "clusterVersion": "1.210.97.20210210-140317", + "configurationVersions": [ + 0 + ] + }, + "metricDefinition": { + "metric": "REQUEST_COUNT", + "requestAttribute": null + }, + "name": "{{.name}}", + "tsmMetricKey": "{{.metricKey}}", + "unit": "COUNT", + "unitDisplayName": "" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/Template_FilterTag.json b/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/Template_FilterTag.json new file mode 100644 index 00000000..d8c6fcc1 --- /dev/null +++ b/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/Template_FilterTag.json @@ -0,0 +1,44 @@ +{ + "conditions": [ + { + "attribute": "SERVICE_TAG", + "comparisonInfo": { + "comparison": "EQUALS", + "negate": false, + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + } + } + ], + "dimensionDefinition": { + "dimension": "{HTTP-Status}", + "name": "Dimension", + "placeholders": [], + "topX": 15, + "topXAggregation": "SINGLE_VALUE", + "topXDirection": "DESCENDING" + }, + "enabled": true, + "entityId": null, + "managementZones": [ + "{{.mz}}" + ], + "metadata": { + "clusterVersion": "1.210.97.20210210-140317", + "configurationVersions": [ + 0 + ] + }, + "metricDefinition": { + "metric": "REQUEST_COUNT", + "requestAttribute": null + }, + "name": "{{.name}}", + "tsmMetricKey": "{{.metricKey}}", + "unit": "COUNT", + "unitDisplayName": "" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/calculated-metrics-service.yaml b/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/calculated-metrics-service.yaml index aa1496be..549d95ce 100644 --- a/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/calculated-metrics-service.yaml +++ b/BMW-Dynatrace-config/00_Global-Config/calculated-metrics-service/calculated-metrics-service.yaml @@ -1,11 +1,20 @@ config: - MSGSVCPOI: MSGSVCPOI.json - RsHttpStatus: RsHttpStatus.json +- NGTP-HttpStatus: HttpStatus.json +- NGTP-CS-HttpStatus: HttpStatus.json - RsEventStatus: RsEventStatus.json - RsType: RsType.json - MSGSVCPOI-HTTP4xx: MSGSVCPOI-HTTP4xx.json - api-gw-byHttpStatus: api-gw-byHttpStatus.json - MSGSVCPOI-Failedrequestcount: MSGSVCPOI-Failedrequestcount.json +- HVDE2EKeywordsStatus: Template_FilterReq.json +- HVDE2ESpeechStatus: Template_FilterReq.json +- HVDE2ERequestStatus: Template_FilterService.json +- HTTSE2ETranscribeStatus: Template_FilterReq.json +- CDPerseusRequestcount: CDPerseusRequestcount.json +- Perseus-HTTP5XX: Perseus-HTTP5XX.json + MSGSVCPOI: - name: MSGSVC POI RsEventStatus: @@ -20,3 +29,41 @@ MSGSVCPOI-HTTP4xx: - name: MSGSVC POI - HTTP 4xx api-gw-byHttpStatus: - name: api-gw-byHttpStatus +NGTP-HttpStatus: +- name: NGTP - HttpStatus +- tag: NGTP +- mz: CD_Call-Handling-Backends +- metricKey: "calc:service.ngtphttpstatus" +NGTP-CS-HttpStatus: +- name: NGTP-CS - RsHttpStatus +- tag: NGTP-CS +- mz: CD_Call-Handling-Backends +- metricKey: "calc:service.ngtpcshttpstatus" +HVDE2EKeywordsStatus: +- name: HVD Keyword by Status +- request: /hvd/keywords +- mz: CD_Speech +- metricKey: "calc:service.hvdkeywordbystatus" +- dimension: "{Request:Name}{HTTP-Status}" +HVDE2ESpeechStatus: +- name: HVD Speech by Status +- request: /hvd/speech +- mz: CD_Speech +- metricKey: "calc:service.hvdspeechbystatus" +- dimension: "{Request:Name}{HTTP-Status}" +HVDE2ERequestStatus: +- name: HVD Request by Status +- serviceName: hvd (/hvd) - hvd - e2e +- mz: CD_Speech +- metricKey: "calc:service.hvdrequestbystatus" +- dimension: "{HTTP-Status}" +HTTSE2ETranscribeStatus: +- name: HTTS Transcribe by Status +- request: /htts/transcribe +- mz: CD_Speech +- metricKey: "calc:service.httstrascribebystatus" +- dimension: "{Request:Name}{HTTP-Status}" +CDPerseusRequestcount: +- name: CD_Perseus Request count +Perseus-HTTP5XX: +- name: Perseus - HTTP 5XX \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/ASBC-RSU.json b/BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/ASBC-RSU.json deleted file mode 100644 index 3677a2eb..00000000 --- a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/ASBC-RSU.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "displayName": "{{.name}}", - "enabled": true, - "metadata": { - "clusterVersion": "1.212.88.20210305-151445", - "configurationVersions": [ - 0 - ] - }, - "nameFormat": "{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$}", - "rules": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "ASBC-RSU" - } - }, - "key": { - "attribute": "PROCESS_GROUP_TAGS" - } - } - ], - "type": "PROCESS_GROUP" -} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/ASBC-SMACC.json b/BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/ASBC-SMACC.json deleted file mode 100644 index cbc4ddb5..00000000 --- a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/ASBC-SMACC.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "displayName": "{{.name}}", - "enabled": true, - "metadata": { - "clusterVersion": "1.212.88.20210305-151445", - "configurationVersions": [ - 0 - ] - }, - "nameFormat": "{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$}", - "rules": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "ASBC-SMACC" - } - }, - "key": { - "attribute": "PROCESS_GROUP_TAGS" - } - } - ], - "type": "PROCESS_GROUP" -} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/ApacheWebServers.json b/BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/ApacheWebServers.json deleted file mode 100644 index 3d41b338..00000000 --- a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/ApacheWebServers.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "displayName": "{{.name}}", - "enabled": true, - "metadata": { - "clusterVersion": "1.212.88.20210305-151445", - "configurationVersions": [ - 0 - ] - }, - "nameFormat": "{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?}", - "rules": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "SIMPLE_TECH", - "value": { - "type": "APACHE_HTTP_SERVER" - } - }, - "key": { - "attribute": "PROCESS_GROUP_TECHNOLOGY" - } - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": false, - "operator": "BEGINS_WITH", - "type": "STRING", - "value": "/lfs/wwwmnt" - }, - "key": { - "attribute": "PROCESS_GROUP_PREDEFINED_METADATA", - "dynamicKey": "EXE_PATH", - "type": "PROCESS_PREDEFINED_METADATA_KEY" - } - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": false, - "operator": "CONTAINS", - "type": "STRING", - "value": "Apache Web Server generated" - }, - "key": { - "attribute": "PROCESS_GROUP_DETECTED_NAME" - } - } - ], - "type": "PROCESS_GROUP" -} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/BillingBuffet-Microservices-FullPodname.json b/BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/BillingBuffet-Microservices-FullPodname.json deleted file mode 100644 index 0982f128..00000000 --- a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/BillingBuffet-Microservices-FullPodname.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "displayName": "{{.name}}", - "enabled": true, - "metadata": { - "clusterVersion": "1.212.88.20210305-151445", - "configurationVersions": [ - 0 - ] - }, - "nameFormat": "{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-}", - "rules": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "Buffet" - } - }, - "key": { - "attribute": "PROCESS_GROUP_TAGS" - } - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": false, - "operator": "BEGINS_WITH", - "type": "STRING", - "value": "buffet-" - }, - "key": { - "attribute": "PROCESS_GROUP_PREDEFINED_METADATA", - "dynamicKey": "KUBERNETES_FULL_POD_NAME", - "type": "PROCESS_PREDEFINED_METADATA_KEY" - } - } - ], - "type": "PROCESS_GROUP" -} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/CDIPrenaming.json b/BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/CDIPrenaming.json deleted file mode 100644 index d8e2a02a..00000000 --- a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/CDIPrenaming.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "displayName": "{{.name}}", - "enabled": true, - "metadata": { - "clusterVersion": "1.212.88.20210305-151445", - "configurationVersions": [ - 0 - ] - }, - "nameFormat": "{ProcessGroup:CommandLineArgs/.*?[/]www[/]([^/]*?)[/]nodes}", - "rules": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "SIMPLE_TECH", - "value": { - "type": "JAVA" - } - }, - "key": { - "attribute": "PROCESS_GROUP_TECHNOLOGY" - } - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": false, - "operator": "CONTAINS", - "type": "STRING", - "value": "cdip" - }, - "key": { - "attribute": "PROCESS_GROUP_PREDEFINED_METADATA", - "dynamicKey": "COMMAND_LINE_ARGS", - "type": "PROCESS_PREDEFINED_METADATA_KEY" - } - } - ], - "type": "PROCESS_GROUP" -} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/KubernetesNaming.json b/BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/KubernetesNaming.json deleted file mode 100644 index 35910ea9..00000000 --- a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/KubernetesNaming.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "displayName": "{{.name}}", - "enabled": true, - "metadata": { - "clusterVersion": "1.212.88.20210305-151445", - "configurationVersions": [ - 0 - ] - }, - "nameFormat": "{ProcessGroup:KubernetesNamespace}", - "rules": [ - { - "comparisonInfo": { - "caseSensitive": null, - "negate": false, - "operator": "EXISTS", - "type": "STRING", - "value": null - }, - "key": { - "attribute": "PROCESS_GROUP_PREDEFINED_METADATA", - "dynamicKey": "KUBERNETES_NAMESPACE", - "type": "PROCESS_PREDEFINED_METADATA_KEY" - } - }, - { - "comparisonInfo": { - "negate": true, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "BASE" - } - }, - "key": { - "attribute": "PROCESS_GROUP_TAGS" - } - } - ], - "type": "PROCESS_GROUP" -} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/conditional-naming-processgroup.yaml deleted file mode 100644 index d1c2efad..00000000 --- a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/conditional-naming-processgroup.yaml +++ /dev/null @@ -1,22 +0,0 @@ -config: -- ASBC-HAL: ASBC-HAL.json -- ASBC-RSU: ASBC-RSU.json -- ASBC-SMACC: ASBC-SMACC.json -- BillingBuffet-Microservices-FullPodname: BillingBuffet-Microservices-FullPodname.json -- KubernetesNaming: KubernetesNaming.json -- ApacheWebServers: ApacheWebServers.json -- CDIPrenaming: CDIPrenaming.json -ASBC-HAL: -- name: ASBC-HAL -ASBC-RSU: -- name: ASBC-RSU -ASBC-SMACC: -- name: ASBC-SMACC -ApacheWebServers: -- name: Apache Web Servers -BillingBuffet-Microservices-FullPodname: -- name: Billing Buffet - Microservices - Full Pod name -CDIPrenaming: -- name: CDIP renaming -KubernetesNaming: -- name: Kubernetes Naming diff --git a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/AzureRuntimeservicename-DLY.json b/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/AzureRuntimeservicename-DLY.json deleted file mode 100644 index 50d608d2..00000000 --- a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/AzureRuntimeservicename-DLY.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "displayName": "{{.name}}", - "enabled": true, - "metadata": { - "clusterVersion": "1.211.111.20210222-093946", - "configurationVersions": [ - 0 - ] - }, - "nameFormat": "{Service:DetectedName} - DLY", - "rules": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "PaaS", - "value": "Runtime" - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - }, - { - "comparisonInfo": { - "caseSensitive": false, - "negate": false, - "operator": "ENDS_WITH", - "type": "STRING", - "value": "_DLY" - }, - "key": { - "attribute": "HOST_GROUP_NAME" - } - } - ], - "type": "SERVICE" -} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/AzureRuntimeservicename-INT.json b/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/AzureRuntimeservicename-INT.json deleted file mode 100644 index 942bd0cf..00000000 --- a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/AzureRuntimeservicename-INT.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "displayName": "{{.name}}", - "enabled": true, - "metadata": { - "clusterVersion": "1.211.111.20210222-093946", - "configurationVersions": [ - 0 - ] - }, - "nameFormat": "{Service:DetectedName} - INT", - "rules": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "PaaS", - "value": "Runtime" - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - }, - { - "comparisonInfo": { - "caseSensitive": false, - "negate": false, - "operator": "ENDS_WITH", - "type": "STRING", - "value": "_INT" - }, - "key": { - "attribute": "HOST_GROUP_NAME" - } - } - ], - "type": "SERVICE" -} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/AzureRuntimeservicename-PROD.json b/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/AzureRuntimeservicename-PROD.json deleted file mode 100644 index 81a1c311..00000000 --- a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/AzureRuntimeservicename-PROD.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "displayName": "{{.name}}", - "enabled": true, - "metadata": { - "clusterVersion": "1.211.111.20210222-093946", - "configurationVersions": [ - 0 - ] - }, - "nameFormat": "{Service:DetectedName} - PROD", - "rules": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "PaaS", - "value": "Runtime" - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - }, - { - "comparisonInfo": { - "caseSensitive": false, - "negate": false, - "operator": "ENDS_WITH", - "type": "STRING", - "value": "_PRD" - }, - "key": { - "attribute": "HOST_GROUP_NAME" - } - } - ], - "type": "SERVICE" -} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/AzureRuntimeservicename-TEST.json b/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/AzureRuntimeservicename-TEST.json deleted file mode 100644 index 1513db15..00000000 --- a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/AzureRuntimeservicename-TEST.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "displayName": "{{.name}}", - "enabled": true, - "metadata": { - "clusterVersion": "1.211.111.20210222-093946", - "configurationVersions": [ - 0 - ] - }, - "nameFormat": "{Service:DetectedName} - TEST", - "rules": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "PaaS", - "value": "Runtime" - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - }, - { - "comparisonInfo": { - "caseSensitive": false, - "negate": false, - "operator": "ENDS_WITH", - "type": "STRING", - "value": "_DEV" - }, - "key": { - "attribute": "HOST_GROUP_NAME" - } - } - ], - "type": "SERVICE" -} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/BASEservicename-environment.json b/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/BASEservicename-environment.json deleted file mode 100644 index f1f4f141..00000000 --- a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/BASEservicename-environment.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "displayName": "{{.name}}", - "enabled": true, - "metadata": { - "clusterVersion": "1.211.111.20210222-093946", - "configurationVersions": [ - 0 - ] - }, - "nameFormat": "{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$}", - "rules": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "BASE" - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - }, - { - "comparisonInfo": { - "caseSensitive": null, - "negate": true, - "operator": "EXISTS", - "type": "STRING", - "value": null - }, - "key": { - "attribute": "SERVICE_DATABASE_NAME" - } - } - ], - "type": "SERVICE" -} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/ClassicITservicename-E2E.json b/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/ClassicITservicename-E2E.json deleted file mode 100644 index caa3710d..00000000 --- a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/ClassicITservicename-E2E.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "displayName": "{{.name}}", - "enabled": true, - "metadata": { - "clusterVersion": "1.211.111.20210222-093946", - "configurationVersions": [ - 0 - ] - }, - "nameFormat": "{Service:DetectedName} - E2E", - "rules": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Platform", - "value": "Classic IT" - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - }, - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Environment", - "value": "E2E" - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "type": "SERVICE" -} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/ClassicITservicename-INT.json b/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/ClassicITservicename-INT.json deleted file mode 100644 index 3fd11606..00000000 --- a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/ClassicITservicename-INT.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "displayName": "{{.name}}", - "enabled": true, - "metadata": { - "clusterVersion": "1.211.111.20210222-093946", - "configurationVersions": [ - 0 - ] - }, - "nameFormat": "{Service:DetectedName} - INT", - "rules": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Platform", - "value": "Classic IT" - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - }, - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Environment", - "value": "INT" - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "type": "SERVICE" -} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/ClassicITservicename-PROD.json b/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/ClassicITservicename-PROD.json deleted file mode 100644 index 90222c6a..00000000 --- a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/ClassicITservicename-PROD.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "displayName": "{{.name}}", - "enabled": true, - "metadata": { - "clusterVersion": "1.211.111.20210222-093946", - "configurationVersions": [ - 0 - ] - }, - "nameFormat": "{Service:DetectedName} - PROD", - "rules": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Platform", - "value": "Classic IT" - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - }, - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Environment", - "value": "PROD" - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "type": "SERVICE" -} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/ClassicITservicename-TEST.json b/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/ClassicITservicename-TEST.json deleted file mode 100644 index e117387c..00000000 --- a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/ClassicITservicename-TEST.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "displayName": "{{.name}}", - "enabled": true, - "metadata": { - "clusterVersion": "1.211.111.20210222-093946", - "configurationVersions": [ - 0 - ] - }, - "nameFormat": "{Service:DetectedName} - TEST", - "rules": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Platform", - "value": "Classic IT" - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - }, - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Environment", - "value": "TEST" - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "type": "SERVICE" -} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/VoiceServices-epldb-namingE2E.json b/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/VoiceServices-epldb-namingE2E.json deleted file mode 100644 index c08c4697..00000000 --- a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/VoiceServices-epldb-namingE2E.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "displayName": "{{.name}}", - "enabled": true, - "metadata": { - "clusterVersion": "1.211.111.20210222-093946", - "configurationVersions": [ - 0 - ] - }, - "nameFormat": "{Service:DatabaseName} - E2E", - "rules": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "SERVICE_TYPE", - "value": "DATABASE_SERVICE" - }, - "key": { - "attribute": "SERVICE_TYPE" - } - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": false, - "operator": "EQUALS", - "type": "STRING", - "value": "pia00256.bmwgroup.net" - }, - "key": { - "attribute": "SERVICE_DATABASE_HOST_NAME" - } - } - ], - "type": "SERVICE" -} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/VoiceServices-epldb-namingPROD.json b/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/VoiceServices-epldb-namingPROD.json deleted file mode 100644 index 54379ec8..00000000 --- a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/VoiceServices-epldb-namingPROD.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "displayName": "{{.name}}", - "enabled": true, - "metadata": { - "clusterVersion": "1.211.111.20210222-093946", - "configurationVersions": [ - 0 - ] - }, - "nameFormat": "{Service:DatabaseName} - PROD", - "rules": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "SERVICE_TYPE", - "value": "DATABASE_SERVICE" - }, - "key": { - "attribute": "SERVICE_TYPE" - } - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": false, - "operator": "EQUALS", - "type": "STRING", - "value": "ppa00247.bmwgroup.net" - }, - "key": { - "attribute": "SERVICE_DATABASE_HOST_NAME" - } - } - ], - "type": "SERVICE" -} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/conditional-naming-service.yaml deleted file mode 100644 index b645d477..00000000 --- a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/conditional-naming-service.yaml +++ /dev/null @@ -1,37 +0,0 @@ -config: -- ClassicITservicename-INT: ClassicITservicename-INT.json -- ClassicITservicename-E2E: ClassicITservicename-E2E.json -- AzureRuntimeservicename-DLY: AzureRuntimeservicename-DLY.json -- ClassicITservicename-TEST: ClassicITservicename-TEST.json -- AzureRuntimeservicename-TEST: AzureRuntimeservicename-TEST.json -- OpenShiftservicename-containername-environment: OpenShiftservicename-containername-environment.json -- ClassicITservicename-PROD: ClassicITservicename-PROD.json -- BASEservicename-environment: BASEservicename-environment.json -- AzureRuntimeservicename-INT: AzureRuntimeservicename-INT.json -- AzureRuntimeservicename-PROD: AzureRuntimeservicename-PROD.json -- VoiceServices-epldb-namingE2E: VoiceServices-epldb-namingE2E.json -- VoiceServices-epldb-namingPROD: VoiceServices-epldb-namingPROD.json -AzureRuntimeservicename-DLY: -- name: Azure Runtime - DLY -AzureRuntimeservicename-INT: -- name: Azure Runtime - INT -AzureRuntimeservicename-PROD: -- name: Azure Runtime - PROD -AzureRuntimeservicename-TEST: -- name: Azure Runtime - TEST -BASEservicename-environment: -- name: BASE - -ClassicITservicename-E2E: -- name: Classic IT - E2E -ClassicITservicename-INT: -- name: Classic IT - INT -ClassicITservicename-PROD: -- name: Classic IT - PROD -ClassicITservicename-TEST: -- name: Classic IT - TEST -OpenShiftservicename-containername-environment: -- name: OpenShift - - -VoiceServices-epldb-namingE2E: -- name: Voice Services - epl db - naming E2E -VoiceServices-epldb-namingPROD: -- name: Voice Services - epl db - naming PROD diff --git a/BMW-Dynatrace-config/00_Global-Config/custom-service-java/DPP-JOYNR.json b/BMW-Dynatrace-config/00_Global-Config/custom-service-java/DPP-JOYNR.json index de5fb19d..aeee1fb2 100644 --- a/BMW-Dynatrace-config/00_Global-Config/custom-service-java/DPP-JOYNR.json +++ b/BMW-Dynatrace-config/00_Global-Config/custom-service-java/DPP-JOYNR.json @@ -1,7 +1,7 @@ { "enabled": true, "metadata": { - "clusterVersion": "1.211.111.20210222-093946", + "clusterVersion": "1.214.107.20210407-223952", "configurationVersions": [ 0 ] @@ -16,7 +16,6 @@ "className": "com.bmw.cc.dpp.api.joynrprovider.v1.PrivacySettingsBackendProviderImpl", "enabled": true, "fileName": "", - "id": "e72f652f-37df-4354-8877-d95bfb6a18e0", "matcher": "EQUALS", "methodRules": [ { @@ -28,7 +27,6 @@ "java.lang.Boolean", "joynr.de.bmw.infotainment.dataprivacy.PrivacySettingsTypes.PrivacySetting[]" ], - "id": "a3f2aa72-e80f-48d0-abdf-603e48504ec3", "methodName": "updateSettings", "returnType": "void" } @@ -39,14 +37,20 @@ "className": "com.bmw.cc.dpp.api.joynrprovider.v2.PrivacySettingsBackendV2ProviderImpl", "enabled": true, "fileName": "", - "id": "76b156a5-4016-43cb-93e5-c235ee93f070", "matcher": "EQUALS", "methodRules": [ + { + "argumentTypes": [ + "java.lang.String", + "joynr.de.bmw.infotainment.dataprivacy.v2.PrivacySettingsTypes.ResultCode" + ], + "methodName": "confirmSettings", + "returnType": "void" + }, { "argumentTypes": [ "joynr.de.bmw.infotainment.dataprivacy.v2.PrivacySettingsTypes.RequestId" ], - "id": "d47cd881-3872-488d-ab5a-e3387f5a33ff", "methodName": "getPrivacyUsersWithGroupsForVin", "returnType": "joynr.de.bmw.infotainment.dataprivacy.v2.PrivacySettingsBackendSync$GetPrivacyUsersWithGroupsForVinReturned" }, @@ -55,7 +59,6 @@ "joynr.de.bmw.infotainment.dataprivacy.v2.PrivacySettingsTypes.RequestId", "java.lang.String" ], - "id": "949ccb87-0f47-48c5-a94b-b104440616e2", "methodName": "requestRequestSetting", "returnType": "void" }, @@ -69,7 +72,6 @@ "java.lang.String", "joynr.de.bmw.infotainment.dataprivacy.v2.PrivacySettingsTypes.PrivacySetting[]" ], - "id": "5d88fccf-e2c0-49a9-9063-3c2f1dd1aa5a", "methodName": "updateSettings", "returnType": "joynr.de.bmw.infotainment.dataprivacy.v2.PrivacySettingsTypes.ResultCode" } @@ -80,7 +82,6 @@ "className": "com.bmw.cc.dpp.api.joynrprovider.v3.PrivacySettingsBackendV3ProviderImpl", "enabled": true, "fileName": "", - "id": "3f75cd95-1017-49e0-9524-ecf18b09ec44", "matcher": "EQUALS", "methodRules": [ { @@ -88,7 +89,6 @@ "joynr.de.bmw.infotainment.dataprivacy.v3.PrivacySettingsTypes.RequestId", "java.lang.String" ], - "id": "a05cbb23-417e-4fe7-866e-1c0e813e80e4", "methodName": "requestTargetSetting", "returnType": "void" }, @@ -102,7 +102,6 @@ "joynr.de.bmw.infotainment.dataprivacy.v3.PrivacySettingsTypes.PrivacySetting[]", "joynr.de.bmw.infotainment.dataprivacy.v3.PrivacySettingsTypes.OptionalParameter[]" ], - "id": "3a691d1f-aae7-479e-8f87-b4c4cd8f06bc", "methodName": "updateSettings", "returnType": "joynr.de.bmw.infotainment.dataprivacy.v3.PrivacySettingsTypes.ResultCode" } diff --git a/BMW-Dynatrace-config/00_Global-Config/custom-service-java/LSCWorkerKafkaIN.json b/BMW-Dynatrace-config/00_Global-Config/custom-service-java/LSCWorkerKafkaIN.json index 141930ae..56e5934a 100644 --- a/BMW-Dynatrace-config/00_Global-Config/custom-service-java/LSCWorkerKafkaIN.json +++ b/BMW-Dynatrace-config/00_Global-Config/custom-service-java/LSCWorkerKafkaIN.json @@ -16,14 +16,12 @@ "className": "com.bmw.tssb.lsc.worker.facade.LscMessageProcessingBean", "enabled": true, "fileName": "", - "id": "af24cb2c-6cdf-498d-8a31-1d27f8c50dc1", "matcher": "EQUALS", "methodRules": [ { "argumentTypes": [ "org.apache.kafka.clients.consumer.ConsumerRecord" ], - "id": "6873bbf0-b711-41cf-bb84-1d3673d73c75", "methodName": "onMessage", "returnType": "void" } diff --git a/BMW-Dynatrace-config/00_Global-Config/custom-service-java/VoiceServices-DBCleanUpTimer.json b/BMW-Dynatrace-config/00_Global-Config/custom-service-java/VoiceServices-DBCleanUpTimer.json new file mode 100644 index 00000000..f93574ca --- /dev/null +++ b/BMW-Dynatrace-config/00_Global-Config/custom-service-java/VoiceServices-DBCleanUpTimer.json @@ -0,0 +1,43 @@ +{ + "enabled": true, + "metadata": { + "clusterVersion": "1.213.116.20210318-174118", + "configurationVersions": [ + 0 + ] + }, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "com.bmw.cc.conn.b2vvoice.bm.mguvoice.control.DBEventCleanupBA", + "enabled": true, + "fileName": "", + "id": "319de1eb-a486-4900-ab0f-0b098fcf1b63", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "id": "67475e25-8530-4d10-8edd-0dcfab3a2207", + "methodName": "clean", + "returnType": "void" + }, + { + "argumentTypes": [], + "id": "6a97c742-6ee2-43d4-8ef6-3759d07052a0", + "methodName": "destroyTimer", + "returnType": "void" + }, + { + "argumentTypes": [], + "id": "db591e7c-0724-4f6c-a9d4-177c7017dd31", + "methodName": "init", + "returnType": "void" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/00_Global-Config/custom-service-java/custom-service-java.yaml index a4a25510..f3b634ec 100644 --- a/BMW-Dynatrace-config/00_Global-Config/custom-service-java/custom-service-java.yaml +++ b/BMW-Dynatrace-config/00_Global-Config/custom-service-java/custom-service-java.yaml @@ -156,10 +156,6 @@ CarStatusInformationKafkaIN.EMEA-Prod: DPP-JOYNR: - name: DPP - JOYNR -- skipDeployment: "true" -DPP-JOYNR.EMEA-Prod: -- name: DPP - JOYNR -- skipDeployment: "false" ECS-JOYNR-E2E: - name: ECS - JOYNR - E2E @@ -177,9 +173,6 @@ JOYNR.EMEA-Prod: LSCWorkerKafkaIN: - name: LSC Worker Kafka IN -- skipDeployment: "true" -LSCWorkerKafkaIN.EMEA-Prod: -- name: LSC Worker Kafka IN - skipDeployment: "false" RsEventTimeoutTimer: @@ -222,4 +215,4 @@ XCS-JOYNR-E2E: - skipDeployment: "true" XCS-JOYNR-E2E.EMEA-Prod: - name: XCS - JOYNR - E2E -- skipDeployment: "false" \ No newline at end of file +- skipDeployment: "false" diff --git a/BMW-Dynatrace-config/00_Global-Config/request-attributes/keyType.json b/BMW-Dynatrace-config/00_Global-Config/request-attributes/keyType.json new file mode 100644 index 00000000..efd77ac5 --- /dev/null +++ b/BMW-Dynatrace-config/00_Global-Config/request-attributes/keyType.json @@ -0,0 +1,34 @@ +{ + "aggregation": "FIRST", + "confidential": false, + "dataSources": [ + { + "capturingAndStorageLocation": "CAPTURE_AND_STORE_ON_BOTH", + "enabled": true, + "scope": { + "tagOfProcessGroup": "Component:ASBC-SMACC" + }, + "source": "URI", + "valueProcessing": { + "extractSubstring": { + "delimiter": "track/", + "endDelimiter": "/decryptVerifyAndGenerate", + "position": "BETWEEN" + }, + "splitAt": "", + "trim": false + } + } + ], + "dataType": "STRING", + "enabled": true, + "metadata": { + "clusterVersion": "1.213.116.20210318-174118", + "configurationVersions": [ + 3 + ] + }, + "name": "{{.name}}", + "normalization": "ORIGINAL", + "skipPersonalDataMasking": false +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/request-attributes/request-attributes.yaml b/BMW-Dynatrace-config/00_Global-Config/request-attributes/request-attributes.yaml index 2d47e4d9..62bf630e 100644 --- a/BMW-Dynatrace-config/00_Global-Config/request-attributes/request-attributes.yaml +++ b/BMW-Dynatrace-config/00_Global-Config/request-attributes/request-attributes.yaml @@ -9,6 +9,7 @@ config: - KeyID: KeyID.json - RsCountryCodeIso: RsCountryCodeIso.json - RsType: RsType.json +- keyType: keyType.json GCID: - name: GCID KeyID: @@ -29,3 +30,5 @@ VIN: - name: VIN getKeyID: - name: getKeyID +keyType: +- name: keyType diff --git a/BMW-Dynatrace-config/00_Global-Config/synthetic-location/BMW-AWS-Frankfurt.json b/BMW-Dynatrace-config/00_Global-Config/synthetic-location/BMW-AWS-Frankfurt.json new file mode 100644 index 00000000..282be4e7 --- /dev/null +++ b/BMW-Dynatrace-config/00_Global-Config/synthetic-location/BMW-AWS-Frankfurt.json @@ -0,0 +1,19 @@ +{ + "availabilityLocationOutage": true, + "availabilityNodeOutage": false, + "availabilityNotificationsEnabled": true, + "city": "Frankfurt am Main", + "countryCode": "DE", + "entityId": "SYNTHETIC_LOCATION-179C78AF3D136082", + "latitude": 50.1038, + "locationNodeOutageDelayInMinutes": 3, + "longitude": 8.6874, + "name": "{{.name}}", + "nodes": [ + "705827599", + "1029949163" + ], + "regionCode": "05", + "status": "ENABLED", + "type": "PRIVATE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/synthetic-location/BMW-DCOnPrem-MUC.json b/BMW-Dynatrace-config/00_Global-Config/synthetic-location/BMW-DCOnPrem-MUC.json new file mode 100644 index 00000000..5a297a0b --- /dev/null +++ b/BMW-Dynatrace-config/00_Global-Config/synthetic-location/BMW-DCOnPrem-MUC.json @@ -0,0 +1,19 @@ +{ + "availabilityLocationOutage": true, + "availabilityNodeOutage": false, + "availabilityNotificationsEnabled": true, + "city": "Munich", + "countryCode": "DE", + "entityId": "SYNTHETIC_LOCATION-6A36EDD481FAEB5D", + "latitude": 48.1084, + "locationNodeOutageDelayInMinutes": 3, + "longitude": 11.6102, + "name": "{{.name}}", + "nodes": [ + "117986054", + "1911205742" + ], + "regionCode": "02", + "status": "ENABLED", + "type": "PRIVATE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/synthetic-location/synthetic-location.yaml b/BMW-Dynatrace-config/00_Global-Config/synthetic-location/synthetic-location.yaml new file mode 100644 index 00000000..aad441bd --- /dev/null +++ b/BMW-Dynatrace-config/00_Global-Config/synthetic-location/synthetic-location.yaml @@ -0,0 +1,18 @@ +config: +- BMW-AWS-Frankfurt: BMW-AWS-Frankfurt.json +- BMW-DCOnPrem-MUC: BMW-DCOnPrem-MUC.json + +BMW-AWS-Frankfurt: +- name: BMW - AWS - Frankfurt +- skipDeployment: "true" +BMW-AWS-Frankfurt.EMEA-Prod: +- name: BMW - AWS - Frankfurt +- skipDeployment: "false" + +BMW-DCOnPrem-MUC: +- name: BMW - DC OnPrem - MUC +- skipDeployment: "true" + +BMW-DCOnPrem-MUC.EMEA-Prod: +- name: BMW - DC OnPrem - MUC +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_ABC/CD_managementZone/alerting-profile/alerting-profile.yaml deleted file mode 100644 index 8e835837..00000000 --- a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/alerting-profile/alerting-profile.yaml +++ /dev/null @@ -1,60 +0,0 @@ -config: -- CDnewComponentTag-PROD: default.json -- CDnewComponentTag-INT: default.json - -#Prod alerting profiles for EMEA/NA/CN -#Dry-run needed for all hubs -CDnewComponentTag-PROD: -- name: CD_managementZone PROD -- tag: newComponentTag -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- env: PROD -- skipDeployment: "true" -#Configuration -CDnewComponentTag-PROD.EMEA-Prod: -- name: CD_managementZone PROD -- tag: newComponentTag -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- env: PROD -- skipDeployment: "false" -CDnewComponentTag-PROD.NA-Prod: -- name: CD_managementZone PROD -- tag: newComponentTag -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- env: PROD -- skipDeployment: "false" -CDnewComponentTag-PROD.CN-Prod: -- name: CD_managementZone PROD -- tag: newComponentTag -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- env: PROD -- skipDeployment: "false" - - -#INT alerting profiles for EMEA/NA/CN -#Dry-run needed for all hubs -CDnewComponentTag-INT: -- name: CD_managementZone INT -- tag: newComponentTag -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- env: INT -- skipDeployment: "true" -#Configuration -CDnewComponentTag-INT.EMEA-PreProd: -- name: CD_managementZone INT -- tag: newComponentTag -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- env: INT -- skipDeployment: "false" -CDnewComponentTag-INT.NA-PreProd: -- name: CD_managementZone INT -- tag: newComponentTag -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- env: INT -- skipDeployment: "false" -CDnewComponentTag-INT.CN-PreProd: -- name: CD_managementZone INT -- tag: newComponentTag -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- env: INT -- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/alerting-profile/default.json b/BMW-Dynatrace-config/CD_ABC/CD_managementZone/alerting-profile/default.json deleted file mode 100644 index 681a4c64..00000000 --- a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/alerting-profile/default.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "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_ABC/CD_managementZone/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_ABC/CD_managementZone/calculated-metrics-service/README.md deleted file mode 100644 index 0bf8efbc..00000000 --- a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/calculated-metrics-service/README.md +++ /dev/null @@ -1,10 +0,0 @@ -## Custom metrics - Multidimensional Analysis - -Under the Multidimensional Analysis you're able to save a view but not to create a metric. Instead, you can do it in here: - -1. Create the metric within the Dynatrace UI using the Mutidimensional Analysis view. -2. Save the view and create a ticket for the OPAPM team [here](link). Please provide the following information: - - View created in the Dynatrace UI - - Your Dynatrace configuration folder (i.e. CD_) - -The OPAPM team will proceed creating the metric and updating your configuration in monaco. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/custom-service-java/README.md b/BMW-Dynatrace-config/CD_ABC/CD_managementZone/custom-service-java/README.md deleted file mode 100644 index d41c4c77..00000000 --- a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/custom-service-java/README.md +++ /dev/null @@ -1,30 +0,0 @@ - -## What is a custom service in Dynatrace? -- *If your application's services aren't built on standard technologies, they may not be recognized out-of-the box.* -- *You can monitor these technologies, but you'll need to define them as custom services with specific service entry points.* -- *Another use case for custom services are microservices that are used by a larger application that aren't exposed via communication technologies.* - -## How to create a custom service? -1. Open the file *custom-service-java.yaml* under your *CD_/custom-service-java* configuration folder. -2. Use customService1 as a template. Copy and paste it below, changing the skipDeployment to "false". -3. Fill up all the remaining inputs with the details of the endpoint you're interested to monitor. (className, methodName, etc...) -4. Commit and pull request to merge the branch to the master: - `git add ` - `git commit -m " configuration changes"` - `git push -u origin ` -5. Restart the application where the custom service has been created. -6. Check if the custom service appears in Dynatrace. - -Notes: - - As this configuration needs a restart, it's better to create it in a non-Prod application. - - The custom service will appear in Dynatrace iff there's traffic going through. - -## What if i have multiple classes? -1. Clone *template-1-1.json* to a new one called *template-2-1.json*. -2. Edit *template-2-1.json* adding a 2nd rule separated with a coma. -3. For the 2nd rule, change the name of the {{.values}} to {{.values2}} i.e. -4. The template is ready to be used in the YAML file. - -## What if i have multiple methods? -1. Same process as before, just call it template-1-2.json -2. In this way you can extend to a custom service with n classes and k methods: template-n-k.json \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_ABC/CD_managementZone/custom-service-java/custom-service-java.yaml deleted file mode 100644 index 25f8a028..00000000 --- a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/custom-service-java/custom-service-java.yaml +++ /dev/null @@ -1,9 +0,0 @@ -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_ABC/CD_managementZone/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_ABC/CD_managementZone/custom-service-java/template-1-1.json deleted file mode 100644 index b3003515..00000000 --- a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/custom-service-java/template-1-1.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "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_ABC/CD_managementZone/dashboard/README.md b/BMW-Dynatrace-config/CD_ABC/CD_managementZone/dashboard/README.md deleted file mode 100644 index dffcdc8a..00000000 --- a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/dashboard/README.md +++ /dev/null @@ -1,13 +0,0 @@ -## Update dashboard configuration - -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_ABC/CD_managementZone/dashboard/dashboard.yaml deleted file mode 100644 index 4f45d440..00000000 --- a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/dashboard/dashboard.yaml +++ /dev/null @@ -1,127 +0,0 @@ -config: -- CDnewComponentTag-PROD: default.json -- CDnewComponentTag-E2E: default.json -- CDnewComponentTag-INT: default.json -- CDnewComponentTag-TEST: default.json - -#PROD dashboards for EMEA/NA/CN Prod -#Dry-run needed for all hubs -CDnewComponentTag-PROD: -- name: CD_managementZone PROD -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- env: PROD -- skipDeployment: "true" -#Configuration -CDnewComponentTag-PROD.EMEA-Prod: -- name: CD_managementZone PROD -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag -- env: PROD -- skipDeployment: "false" -CDnewComponentTag-PROD.NA-Prod: -- name: CD_managementZone PROD -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag -- env: PROD -- skipDeployment: "false" -CDnewComponentTag-PROD.CN-Prod: -- name: CD_managementZone PROD -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag -- env: PROD -- skipDeployment: "false" - -#E2E dashboards for EMEA/NA/CN E2E -#Dry-run needed for all hubs -CDnewComponentTag-E2E: -- name: CD_managementZone E2E -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- env: E2E -- skipDeployment: "true" -#Configuration -CDnewComponentTag-E2E.EMEA-Prod: -- name: CD_managementZone E2E -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- env: E2E -- tag: newComponentTag -- skipDeployment: "true" -CDnewComponentTag-E2E.NA-Prod: -- name: CD_managementZone E2E -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- env: E2E -- tag: newComponentTag -- skipDeployment: "true" -CDnewComponentTag-E2E.CN-Prod: -- name: CD_managementZone E2E -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- env: E2E -- tag: newComponentTag -- skipDeployment: "true" - -#INT dashboards for EMEA/NA/CN -#Dry-run needed for all hubs -CDnewComponentTag-INT: -- name: CD_managementZone INT -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- env: INT -- tag: newComponentTag -- skipDeployment: "true" -#Configuration -CDnewComponentTag-INT.EMEA-PreProd: -- name: CD_managementZone INT -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- env: INT -- tag: newComponentTag -- skipDeployment: "false" -CDnewComponentTag-INT.NA-PreProd: -- name: CD_managementZone INT -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- env: INT -- skipDeployment: "false" -CDnewComponentTag-INT.CN-PreProd: -- name: CD_managementZone INT -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- env: INT -- skipDeployment: "false" - -#TEST dashboards for EMEA/NA/CN -#Dry-run needed for all hubs -CDnewComponentTag-TEST: -- name: CD_managementZone TEST -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag -- env: TEST -- skipDeployment: "true" -#Configuration -CDnewComponentTag-TEST.EMEA-PreProd: -- name: CD_managementZone TEST -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag -- env: TEST -- skipDeployment: "false" -CDnewComponentTag-TEST.NA-PreProd: -- name: CD_managementZone TEST -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- env: TEST -- skipDeployment: "false" -CDnewComponentTag-TEST.CN-PreProd: -- name: CD_managementZone TEST -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- env: TEST -- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/dashboard/default.json b/BMW-Dynatrace-config/CD_ABC/CD_managementZone/dashboard/default.json deleted file mode 100644 index 6c685810..00000000 --- a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/dashboard/default.json +++ /dev/null @@ -1,308 +0,0 @@ -{ - "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_ABC/CD_managementZone/management-zone/README.md b/BMW-Dynatrace-config/CD_ABC/CD_managementZone/management-zone/README.md deleted file mode 100644 index 3244b3e6..00000000 --- a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/management-zone/README.md +++ /dev/null @@ -1,76 +0,0 @@ -## Management Zones configuration - -### Excluding noisy services - -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. diff --git a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/management-zone/default.json b/BMW-Dynatrace-config/CD_ABC/CD_managementZone/management-zone/default.json deleted file mode 100644 index e827aaff..00000000 --- a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/management-zone/default.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "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" - } - ] -} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_ABC/CD_managementZone/management-zone/management-zone.yaml deleted file mode 100644 index 635e9e71..00000000 --- a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/management-zone/management-zone.yaml +++ /dev/null @@ -1,6 +0,0 @@ -config: -- CDnewComponentTag: default.json - -CDnewComponentTag: -- name: CD_managementZone -- tag: newComponentTag diff --git a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/notification/README.md b/BMW-Dynatrace-config/CD_ABC/CD_managementZone/notification/README.md deleted file mode 100644 index e1a6af84..00000000 --- a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/notification/README.md +++ /dev/null @@ -1,60 +0,0 @@ - -## Configure Notification System - -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/notification/email.json b/BMW-Dynatrace-config/CD_ABC/CD_managementZone/notification/email.json deleted file mode 100644 index 486642a7..00000000 --- a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/notification/email.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "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_ABC/CD_managementZone/notification/msTeams.json b/BMW-Dynatrace-config/CD_ABC/CD_managementZone/notification/msTeams.json deleted file mode 100644 index 33e92cf6..00000000 --- a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/notification/msTeams.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "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_ABC/CD_managementZone/notification/notification.yaml b/BMW-Dynatrace-config/CD_ABC/CD_managementZone/notification/notification.yaml deleted file mode 100644 index 2d6336ae..00000000 --- a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/notification/notification.yaml +++ /dev/null @@ -1,51 +0,0 @@ -config: -- CDnewComponentTag-PROD: msTeams.json -- CDnewComponentTag-INT: msTeams.json - -#Prod notification system for EMEA/NA/CN -#Dry-run needed for all hubs -CDnewComponentTag-PROD: -- name: CD_managementZone PROD -- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag-PROD.id -- webhook: https://empty -- skipDeployment: "true" -#Configuration -CDnewComponentTag-PROD.EMEA-Prod: -- name: CD_managementZone PROD -- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag-PROD.id -- webhook: https://empty -- skipDeployment: "false" -CDnewComponentTag-PROD.NA-Prod: -- name: CD_managementZone PROD -- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag-PROD.id -- webhook: https://empty -- skipDeployment: "false" -CDnewComponentTag-PROD.CN-Prod: -- name: CD_managementZone PROD -- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag-PROD.id -- webhook: https://empty -- skipDeployment: "false" - -#INT notification system for EMEA/NA/CN -#Dry-run needed for all hubs -CDnewComponentTag-INT: -- name: CD_managementZone INT -- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag-INT.id -- webhook: https://empty -- skipDeployment: "true" -#Configuration -CDnewComponentTag-INT.EMEA-PreProd: -- name: CD_managementZone INT -- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag-INT.id -- webhook: https://empty -- skipDeployment: "false" -CDnewComponentTag-INT.NA-PreProd: -- name: CD_managementZone INT -- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag-INT.id -- webhook: https://empty -- skipDeployment: "false" -CDnewComponentTag-INT.CN-PreProd: -- name: CD_managementZone INT -- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag-INT.id -- webhook: https://empty -- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_ABC/CD_managementZone/synthetic-monitor/README.md deleted file mode 100644 index 92e734fa..00000000 --- a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/synthetic-monitor/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# Synthetic Configuration - -To calculate the Availability KPI, a synthetic must be configured. - -1. Modify the synthetic-monitor.yaml file, providing: - - **Endpoint**: url intended to check the availability. - - **Location**: - - *synthetic private location*: If the endpoint is reachable within the BMW network. - ``` - - location: BMW-Dynatrace-config/00_Global-Config/synthetic-location/BMW-AWS-Frankfurt.id - ``` - - *synthetic public location*: If the endpoint is reachable from the internet. - ``` - - location: GEOLOCATION-45AB48D9D6925ECC - ``` -2. Change `skipDeployment` to false. - -i.e. -``` -config: -- my-synthetic: default.json - -my-synthetic: -- name: CD_BMW - bmw.com -- mzName: CD_google/management-zone/CDgoogle.name -- mzId: CD_google/management-zone/CDgoogle.id -- endpoint: https://google.com -- location: GEOLOCATION-45AB48D9D6925ECC -- skipDeployment: "false" -``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_ABC/CD_managementZone/synthetic-monitor/default.json deleted file mode 100644 index cf83039b..00000000 --- a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/synthetic-monitor/default.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "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_ABC/CD_managementZone/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_ABC/CD_managementZone/synthetic-monitor/synthetic-monitor.yaml deleted file mode 100644 index 0ffabf57..00000000 --- a/BMW-Dynatrace-config/CD_ABC/CD_managementZone/synthetic-monitor/synthetic-monitor.yaml +++ /dev/null @@ -1,10 +0,0 @@ -config: -- newComponentTag: default.json - -newComponentTag: -- name: CD_managementZone - -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- endpoint: -- location: -- skipDeployment: "true" \ No newline at end of file diff --git a/README - Full.md b/README - Full.md deleted file mode 100644 index eab83258..00000000 --- a/README - Full.md +++ /dev/null @@ -1,112 +0,0 @@ - - -# BMW Monaco - -## Dynatrace - Get Started! - -### Initial Setup - -To monitor your application with Dynatrace, please follow these steps: - -1. Make sure you have access to Dynatrace. If not, follow this [link](https://atc.bmwgroup.net/confluence/display/OPAPM/User+Guide+-+Access+to+new+Dynatrace+Solution) -2. Clone this repository in your local machine: - - `git clone https://atc.bmwgroup.net/bitbucket/scm/opapm/cd_e2e_monitoring_config.git` - -4. Create a branch using your Component/Application name with the following format: - - `git checkout -b CD_` - - **What value should i use for ?** - - Azure Runtime: i.e. for vehicle-composite-service you need to get [this](https://code.connected.bmw/runtime/tf-cluster-apps/blob/master/euprd/apps/vehicle-composite-service.tf#L8) value. - - Orbit: coming soon! - - Openshift: coming soon! - -5. Execute the script passing as parameters, again, the : - - `./onboard.sh CD_ ` - -6. (optional) Configure Notification System - - Dynatrace AI automatically detects anomalies in your applications and generate problems, visible within the UI. Dynatrace offers several out-of-the-box integrations with problem notification systems such as Email, MS Teams and ITSM. - - Notification systems are not configured by default. If you want to enable them for your application, please follow this [link](https://atc.bmwgroup.net/bitbucket/projects/OPAPM/repos/cd_e2e_monitoring_config/browse/onboarding/CD_managementZone/notification/README.md). -7. (optional) Add databases to Management Zone - - The script described in step 5 will create the configuration for all entities related to your application (Host, Processes, Services) but not the databases. - - To add your databases into Dynatrace you need to add an extra rule to the [Component.json](https://atc.bmwgroup.net/bitbucket/projects/OPAPM/repos/cd_e2e_monitoring_config/browse/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json) file. You can use [this](https://atc.bmwgroup.net/bitbucket/projects/OPAPM/repos/cd_e2e_monitoring_config/browse/BMW-Dynatrace-config/00_Global-Config/README.md) example to understand exactly what you have to do. - -8. Commit and pull request to merge the branch to the master: - - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### Results - -**Important** -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- Once the pull request is approved and **BMW Monaco** executes, all the configuration created in the previous steps will be visible in Dynatrace: - -#### Primary Configuration - -- *Management Zone* - - Used to filter entities. - - Can be used to navigate the environment, filtering within dashboards and alerting profiles. - - You can use the generated MZ clicking on the filter at the top-right corner within the Dynatrace UI. - - Learn how to configure/improve your Management Zone [here](link) ([Do i need to configure it?](link)) - -![Management Zone](img/MZ.PNG) - -- *Dashboards* - - Based on a template, - - Initial dashboard with a general overview of the health of the application. - - For Prod environements, PROD and E2E dashboards will be generated. - - For PreProd environments, INT dashboard will be generated. - - Learn how to configure/improve your Dashboards [here](link) ([Do i need to configure it?](link)) - -![Dashboard](img/Dashboard.PNG) - -- *Alerting Profiles* - - Used to filter specific problems related to your applications. - - For Prod environements, PROD and E2E alerting profiles will be generated. - - For PreProd environments, INT alerting profiles will be generated. - - Learn how to configure/improve your Alerting Profiles [here](link) ([Do i need to configure it?](link)) - -- *Notification System* - - For each Alerting Profile, it's possible to set up a separate Notification System. - - For Prod environements, PROD and E2E notification systems will be generated. - - For PreProd environments, INT notification systems will be generated. - - Notification system is not configured by default. If you want to enable it for your application please follow this [link](link). - - Learn how to configure/improve your Notification System [here](link) ([Do i need to configure it?](link)) - -#### Optional Configuration - -The following configuration items are not set up by default. Learn the value that can provide to monitoring within the Dynatrace documentation (links shared below on each item) or in one of our trainings (recommended, BMW specific) - -7. (optional) Custom services - - Short description: *If your application services aren't built on standard technologies, they may not be recognized out-of-the box. You can monitor these technologies, but you'll need to define them as custom services with specific service entry points. Another use case for custom services are microservices that are used by a larger application that aren't exposed via communication technologies.* - - [How to configure it in monaco?](link) - - [Custom services - Dynatrace Documentation](https://www.dynatrace.com/support/help/how-to-use-dynatrace/transactions-and-services/configuration/define-custom-services/) -8. (optional) Request Attributes - - Short description: *Dynatrace tracks all requests, from end to end, and automatically monitors the services that underlie each transaction. The performance and attributes of each request can be analyzed in detail. You can even create [custom multi-faceted filters](https://www.dynatrace.com/support/help/how-to-use-dynatrace/transactions-and-services/analysis/service-flow-filtering/ "Service flow filtering") that enable you to analyze call sequences from multiple perspectives. With such advanced request filtering, Dynatrace enables you to slice and dice your way through your requests to find the proverbial “needle in the haystack.” Such filtering isn't only possible on certain predefined attributes. You can also configure custom request attributes that you can use to improve filtering and analysis of problematic web requests.* - - [How to configure it in monaco?](link) - - [Request Attributes - Dynatrace Documentation](https://www.dynatrace.com/support/help/how-to-use-dynatrace/transactions-and-services/basic-concepts/request-attributes/) -9. (optional) Custom metrics - - Short description: *Dynatrace out-of-the-box metrics generally focus on availability, failure rate, and performance. The [multidimensional analysis view](https://www.dynatrace.com/news/blog/multi-dimensional-analysis-views-for-service-metrics-and-custom-metrics/) for service and custom metrics that enables you to define custom analysis views around use cases that leverage request attributes as metric sources.* - - [How to configure it in monaco?](link) - - [Custom metrics - Dynatrace Documentation](https://www.dynatrace.com/news/blog/custom-metrics-for-services-enrich-dynatrace-ai-and-dashboarding-capabilities-eap/) -10. (optional) Synthetics - - Short description: *Dynatrace Synthetic Monitoring makes it easy for you to monitor the availability and performance of your applications as experienced by your customers around the world and around the clock. Availability is the success rate at a given instant or time period that indicates if your application is fully functional and available to users.* - - [How to configure it in monaco?](link) - - [Synthetics - Dynatrace Documentation](https://www.dynatrace.com/support/help/how-to-use-dynatrace/synthetic-monitoring/) -11. (optional) Naming Rules (Services / Process Groups) - - Short description: *Dynatrace [automatically detects and names your applications’ server-side services](https://www.dynatrace.com/support/help/how-to-use-dynatrace/transactions-and-services/basic-concepts/service-detection-and-naming/ "Service detection and naming") based on basic properties of your application deployment and configuration. These properties and the resulting service names should be intuitive to you because they reflect your service landscape. In some cases however, the default naming scheme may not be to your liking or may not adequately reflect your service landscape. In other instances, you may want to add certain process or service metadata to a service name to improve usability.* - - [How to configure it in monaco?](link) - - [Naming Rules - Dynatrace Documentation](https://www.dynatrace.com/support/help/how-to-use-dynatrace/transactions-and-services/configuration/customize-service-naming/) - - -**Recommended** -- Participate in one of the Dynatrace trainings to understand: - - How to use Dynatrace in the most efficient way. - - What kind of changes in the configuration are possible and how will improve monitoring. - - Hands on in how to work with Monaco (Dynatrace Configuration as Code) \ No newline at end of file diff --git a/README - Runtime.md b/README - Runtime.md deleted file mode 100644 index f4928877..00000000 --- a/README - Runtime.md +++ /dev/null @@ -1,73 +0,0 @@ - - -# BMW Monaco - -## Dynatrace - Get Started! - -As the Runtime cluster is instrumented with dynatrace automatically no further actions are needed. - -### Initial Setup - -To monitor your application with Dynatrace, please follow these steps: - -1. Make sure you have access to Dynatrace. If not, follow this [link](https://atc.bmwgroup.net/confluence/display/OPAPM/User+Guide+-+Access+to+new+Dynatrace+Solution) -2. Clone this repository in your local machine: - - `git clone https://atc.bmwgroup.net/bitbucket/scm/opapm/cd_e2e_monitoring_config.git` - -4. Create a branch using your Component/Application name with the following format: - - `git checkout -b CD_` - - **What value should i use for ?** - - i.e. for vehicle-composite-service you need to get [this](https://code.connected.bmw/runtime/tf-cluster-apps/blob/master/euprd/apps/vehicle-composite-service.tf#L8) value. - -5. Execute the script passing as parameters, again, the : - - `./onboard.sh CD_ ` - -6. (optional) Configure Notification System - - Dynatrace AI automatically detects anomalies in your applications and generate problems, visible within the UI. Dynatrace offers several out-of-the-box integrations with problem notification systems such as Email, MS Teams and ITSM. - - Notification systems are not configured by default. If you want to enable them for your application, please follow this [link](https://atc.bmwgroup.net/bitbucket/projects/OPAPM/repos/cd_e2e_monitoring_config/browse/onboarding/CD_managementZone/notification/README.md). -7. (optional) Add databases to Management Zone - - The script described in step 5 will create the configuration for all entities related to your application (Host, Processes, Services) but not the databases. - - To add your databases into Dynatrace you need to add an extra rule to the [Component.json](https://atc.bmwgroup.net/bitbucket/projects/OPAPM/repos/cd_e2e_monitoring_config/browse/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json) file. You can use [this](https://atc.bmwgroup.net/bitbucket/projects/OPAPM/repos/cd_e2e_monitoring_config/browse/BMW-Dynatrace-config/00_Global-Config/README.md) example to understand exactly what you have to do. - -8. Commit and pull request to merge the branch to the master: - - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### Results - -**Important** -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- Once the pull request is approved and **BMW Monaco** executes, all the configuration created in the previous steps will be visible in Dynatrace: - -#### Primary Configuration - -- *Management Zone* - - Used to filter entities. - - Can be used to navigate the environment, filtering within dashboards and alerting profiles. - - You can use the generated MZ clicking on the filter at the top-right corner within the Dynatrace UI. - - Learn how to configure/improve your Management Zone [here](https://atc.bmwgroup.net/bitbucket/projects/OPAPM/repos/cd_e2e_monitoring_config/browse/onboarding/CD_managementZone/management-zone/README.md) ([Do i need to configure it?](link)) - -![Management Zone](img/MZ.PNG) - -- *Dashboards* - - Based on a template, - - Initial dashboard with a general overview of the health of the application. - - For Prod environements, PROD and E2E dashboards will be generated. - - For PreProd environments, INT dashboard will be generated. - - Learn how to configure/improve your Dashboards [here](link) ([Do i need to configure it?](link)) - -![Dashboard](img/Dashboard.PNG) - -**Recommended** -- Participate in one of the Dynatrace trainings to understand: - - How to use Dynatrace in the most efficient way. - - What kind of changes in the configuration are possible and how will improve monitoring. - - Hands on in how to work with Monaco (Dynatrace Configuration as Code) \ No newline at end of file diff --git a/README - Testing.md b/README - Testing.md deleted file mode 100644 index 8fd5878c..00000000 --- a/README - Testing.md +++ /dev/null @@ -1,41 +0,0 @@ -## (Dynatrace Admins) Testing - -This guide contain the steps to set up monaco and automatically onboard and application called "ABC" under the MZ "CD_ABC" -1. Clone repository in your local machine. -2. Define environment variables for the environment.yaml file. -i.e. -*export xxu26128_TOKEN= Dynatrace API token* -Do the same for the rest of the environments. Follow [this](https://www.dynatrace.com/support/help/shortlink/api-authentication#generate-a-token) link to learn how to generate a token in Dynatrace. -3. *mv bin/monaco /usr/bin* -4. Execute the onboard.sh script with the following parameters: -*./onboard.sh CD_ ApplicationName* -*./onboard.sh CD_ABC ABC* -5. To remove all CD_ABC configuration: - 1. Uncomment CD_ABC lines from delete.yaml. - 2. Execute monaco again to apply changes from delete.yaml: *monaco deploy -e="environment.yaml" -p="CD_ABC" BMW-Dynatrace-config/* - 3. Remove CD_ABC configuration folder - -### Results -- CD_ABC Management Zone created containing all entities with ABC tag. -- PROD/E2E/INT Dashboards for CD_ABC components. -- PROD/E2E/INT Alerting Profiles for CD_ABC components. - -### Update configuration -1. Execute the following command: -*monaco deploy -e="environment.yaml" -p="00_Global-Config" BMW-Dynatrace-config/* - - Under -p you can select the configuration you want to update - -### Debugging -- set environment variable MONACO_REQUEST_LOG=mylogfile.log to see what exactly gets sent to DT - -### Download configuration -Configuration has been downloaded and set up under BMW-Dynatrace-config. It's not necessary to be downloaded again. -To download the existing configuration for all tenants, execute the following commands: - 1. cd downloaded-config - 2. *monaco download -e='../environment.yaml'* -To download the existing configuration for a specific tenant, execute the following commands: - 1. cd downloaded-config - 2. *monaco download -e='../environment.yaml' -s EMEA-Prod* - -### Automatic config environment variables -- source ./exports.sh \ No newline at end of file diff --git a/onboarding/CD_managementZone/calculated-metrics-service/README.md b/onboarding/CD_managementZone/calculated-metrics-service/README.md index 0bf8efbc..9c2a1f2e 100644 --- a/onboarding/CD_managementZone/calculated-metrics-service/README.md +++ b/onboarding/CD_managementZone/calculated-metrics-service/README.md @@ -1,10 +1,4 @@ -## Custom metrics - Multidimensional Analysis -Under the Multidimensional Analysis you're able to save a view but not to create a metric. Instead, you can do it in here: +### How to configure custom metrics? -1. Create the metric within the Dynatrace UI using the Mutidimensional Analysis view. -2. Save the view and create a ticket for the OPAPM team [here](link). Please provide the following information: - - View created in the Dynatrace UI - - Your Dynatrace configuration folder (i.e. CD_) - -The OPAPM team will proceed creating the metric and updating your configuration in monaco. \ No newline at end of file +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/onboarding/CD_managementZone/conditional-naming-processgroup/README.md b/onboarding/CD_managementZone/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..f94196a5 --- /dev/null +++ b/onboarding/CD_managementZone/conditional-naming-processgroup/README.md @@ -0,0 +1,67 @@ +### Process Group Detection Rules and Naming + +#### Detection Rule or Naming? + +For the explanation, we're using a real example of the Infotainment application: + +!(PGNaming1)[../../../../img/PGNaming1.PNG] + +Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking +the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your +application Management Zone. + +In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** +**this case, you MUST follow this guideline** + +Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are +part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? + +If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** +**same application** + +Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming +the process group in the same way + +*Same application* +- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of +seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring +- Solution: create a process group detection rule. Contact Dynatrace Expert + +*Different application* +- Problem: Dynatrace is just naming in the same way applications that are different. +- Solution: This case is less severe, since it can be fixed with a process group naming rule. + + +What about our example? +!(PGNaming2)[../../../../img/PGNaming2.PNG] +!(PGNaming3)[../../../../img/PGNaming3.PNG] + +Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload +within the metadata of each Process Group. + +#### How to create a Process Group Detection Rule +1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: +``` +config: +- CDInfotainmentRule1: template.json + +CDInfotainmentRule1: +- name: Infotainment Rule 1 +- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} +- tag: Infotainment +- skipDeployment: false +``` +The result of the rule will be renaming the PG to this: +``` +bon-information-prod ipa +bon-information-prod rsl +``` + +Other possible placeholders that you can use are for example: +{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} +{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} +{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} +{ProcessGroup:KubernetesNamespace} +{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} + +You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file diff --git a/onboarding/CD_managementZone/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/onboarding/CD_managementZone/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..be5821ec --- /dev/null +++ b/onboarding/CD_managementZone/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDnewComponentTag: template.json + +CDnewComponentTag: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: newComponentTag +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/ASBC-HAL.json b/onboarding/CD_managementZone/conditional-naming-processgroup/template.json similarity index 72% rename from BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/ASBC-HAL.json rename to onboarding/CD_managementZone/conditional-naming-processgroup/template.json index c8abc287..7c039808 100644 --- a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-processgroup/ASBC-HAL.json +++ b/onboarding/CD_managementZone/conditional-naming-processgroup/template.json @@ -2,12 +2,12 @@ "displayName": "{{.name}}", "enabled": true, "metadata": { - "clusterVersion": "1.212.88.20210305-151445", + "clusterVersion": "1.214.107.20210407-223952", "configurationVersions": [ 0 ] }, - "nameFormat": "{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$}", + "nameFormat": "{{.nameFormat}}", "rules": [ { "comparisonInfo": { @@ -17,7 +17,7 @@ "value": { "context": "CONTEXTLESS", "key": "Component", - "value": "ASBC-HAL" + "value": "{{.tag}}" } }, "key": { diff --git a/onboarding/CD_managementZone/conditional-naming-service/README.md b/onboarding/CD_managementZone/conditional-naming-service/README.md new file mode 100644 index 00000000..c34ef308 --- /dev/null +++ b/onboarding/CD_managementZone/conditional-naming-service/README.md @@ -0,0 +1,35 @@ +### Service Naming Rules + +A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: +*DataDownloadV1* +*DataDownloadV1* + +If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. + +*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* +*Group detection rule* + +In the case the PG are PROD and E2E, then we need to create a rule that looks like this: + +``` +config: +- CDInfotainmentRule1: template.json + +CDInfotainmentRule1: +- name: Infotainment Rule 1 +- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} +- tag: Infotainment +- skipDeployment: false +``` + +The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: +*DataDownloadV1 - prod* +*DataDownloadV1 - e2e* + +Now, services will be easy to identify. + +You can create rules based on any property/metadata. Some other placeholder's eamples: +{Service:DatabaseName} - E2E +{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} +{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} +{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file diff --git a/onboarding/CD_managementZone/conditional-naming-service/conditional-naming-service.yaml b/onboarding/CD_managementZone/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..be5821ec --- /dev/null +++ b/onboarding/CD_managementZone/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDnewComponentTag: template.json + +CDnewComponentTag: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: newComponentTag +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/OpenShiftservicename-containername-environment.json b/onboarding/CD_managementZone/conditional-naming-service/template.json similarity index 60% rename from BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/OpenShiftservicename-containername-environment.json rename to onboarding/CD_managementZone/conditional-naming-service/template.json index 11d1978a..5d4fac56 100644 --- a/BMW-Dynatrace-config/00_Global-Config/conditional-naming-service/OpenShiftservicename-containername-environment.json +++ b/onboarding/CD_managementZone/conditional-naming-service/template.json @@ -2,12 +2,12 @@ "displayName": "{{.name}}", "enabled": true, "metadata": { - "clusterVersion": "1.211.111.20210222-093946", + "clusterVersion": "1.214.107.20210407-223952", "configurationVersions": [ 0 ] }, - "nameFormat": "{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$}", + "nameFormat": "{{.nameFormat}}", "rules": [ { "comparisonInfo": { @@ -16,8 +16,8 @@ "type": "TAG", "value": { "context": "CONTEXTLESS", - "key": "Platform", - "value": "OpenShift" + "key": "Component", + "value": "{{.tag}}" } }, "key": { diff --git a/onboarding/CD_managementZone/custom-service-java/README.md b/onboarding/CD_managementZone/custom-service-java/README.md index d41c4c77..5f35e5c1 100644 --- a/onboarding/CD_managementZone/custom-service-java/README.md +++ b/onboarding/CD_managementZone/custom-service-java/README.md @@ -1,30 +1,4 @@ -## What is a custom service in Dynatrace? -- *If your application's services aren't built on standard technologies, they may not be recognized out-of-the box.* -- *You can monitor these technologies, but you'll need to define them as custom services with specific service entry points.* -- *Another use case for custom services are microservices that are used by a larger application that aren't exposed via communication technologies.* +### How to configure custom services? -## How to create a custom service? -1. Open the file *custom-service-java.yaml* under your *CD_/custom-service-java* configuration folder. -2. Use customService1 as a template. Copy and paste it below, changing the skipDeployment to "false". -3. Fill up all the remaining inputs with the details of the endpoint you're interested to monitor. (className, methodName, etc...) -4. Commit and pull request to merge the branch to the master: - `git add ` - `git commit -m " configuration changes"` - `git push -u origin ` -5. Restart the application where the custom service has been created. -6. Check if the custom service appears in Dynatrace. - -Notes: - - As this configuration needs a restart, it's better to create it in a non-Prod application. - - The custom service will appear in Dynatrace iff there's traffic going through. - -## What if i have multiple classes? -1. Clone *template-1-1.json* to a new one called *template-2-1.json*. -2. Edit *template-2-1.json* adding a 2nd rule separated with a coma. -3. For the 2nd rule, change the name of the {{.values}} to {{.values2}} i.e. -4. The template is ready to be used in the YAML file. - -## What if i have multiple methods? -1. Same process as before, just call it template-1-2.json -2. In this way you can extend to a custom service with n classes and k methods: template-n-k.json \ No newline at end of file +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/onboarding/CD_managementZone/management-zone/default.json b/onboarding/CD_managementZone/management-zone/default.json index e827aaff..bffa0c3b 100644 --- a/onboarding/CD_managementZone/management-zone/default.json +++ b/onboarding/CD_managementZone/management-zone/default.json @@ -71,6 +71,44 @@ ], "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/onboarding/CD_managementZone/synthetic-monitor/README.md b/onboarding/CD_managementZone/synthetic-monitor/README.md index 92e734fa..1695924c 100644 --- a/onboarding/CD_managementZone/synthetic-monitor/README.md +++ b/onboarding/CD_managementZone/synthetic-monitor/README.md @@ -1,37 +1,4 @@ -# Synthetic Configuration -To calculate the Availability KPI, a synthetic must be configured. +### How to configure synthetics? -1. Modify the synthetic-monitor.yaml file, providing: - - **Endpoint**: url intended to check the availability. - - **Location**: - - *synthetic private location*: If the endpoint is reachable within the BMW network. - ``` - - location: BMW-Dynatrace-config/00_Global-Config/synthetic-location/BMW-AWS-Frankfurt.id - ``` - - *synthetic public location*: If the endpoint is reachable from the internet. - ``` - - location: GEOLOCATION-45AB48D9D6925ECC - ``` -2. Change `skipDeployment` to false. - -i.e. -``` -config: -- my-synthetic: default.json - -my-synthetic: -- name: CD_BMW - bmw.com -- mzName: CD_google/management-zone/CDgoogle.name -- mzId: CD_google/management-zone/CDgoogle.id -- endpoint: https://google.com -- location: GEOLOCATION-45AB48D9D6925ECC -- skipDeployment: "false" -``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +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