diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_cas-spm/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..d2e5236d --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/alerting-profile/alerting-profile.yaml @@ -0,0 +1,37 @@ +config: +- CDnewComponentTag: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-Prod: +- name: CD_VDLM_cas-spm PROD +- mzId: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_cas-spm PROD +- mzId: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_cas-spm PROD +- mzId: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_cas-spm INT +- mzId: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_cas-spm INT +- mzId: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_cas-spm INT +- mzId: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_cas-spm/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/alerting-profile/default.json @@ -0,0 +1,78 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_cas-spm/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_cas-spm/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_cas-spm/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,7 @@ +config: +- CDnewComponentTag: template.json + +CDnewComponentTag: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_cas-spm/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_cas-spm/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_cas-spm/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,7 @@ +config: +- CDnewComponentTag: template.json + +CDnewComponentTag: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_cas-spm/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_cas-spm/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_cas-spm/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..a58fde35 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/custom-service-java/custom-service-java.yaml @@ -0,0 +1,10 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- methodArgs: java.lang.Byte[],java.lang.String +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-1b.json b/BMW-Dynatrace-config/CD_VDLM_cas-spm/custom-service-java/template-1-1.json similarity index 81% rename from BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-1b.json rename to BMW-Dynatrace-config/CD_VDLM_cas-spm/custom-service-java/template-1-1.json index a8434d5d..ebe95097 100644 --- a/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-1b.json +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/custom-service-java/template-1-1.json @@ -13,10 +13,7 @@ "matcher": "EQUALS", "methodRules": [ { - "argumentTypes": [ - "java.lang.String", - "java.util.Map" - ], + "argumentTypes": ["{{.methodArgs}}"], "methodName": "{{.methodName}}", "returnType": "{{.returnType}}" } diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_cas-spm/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_cas-spm/dashboard/dashboard.yaml new file mode 100644 index 00000000..59501ca5 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/dashboard/dashboard.yaml @@ -0,0 +1,109 @@ +config: +- CDnewComponentTag-PROD: default.json +- CDnewComponentTag-E2E: default.json +- CDnewComponentTag-INT: default.json +- CDnewComponentTag-TEST: default.json + +#PROD dashboards for EMEA/NA/CN Prod +CDnewComponentTag-PROD: +- name: CD_VDLM_cas-spm PROD +- mzName: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_cas-spm PROD +- mzName: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_cas-spm PROD +- mzName: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_cas-spm PROD +- mzName: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_cas-spm E2E +- mzName: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_cas-spm E2E +- mzName: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_cas-spm E2E +- mzName: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_cas-spm E2E +- mzName: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_cas-spm INT +- mzName: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_cas-spm INT +- mzName: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_cas-spm INT +- mzName: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_cas-spm INT +- mzName: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_cas-spm TEST +- mzName: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_cas-spm TEST +- mzName: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_cas-spm TEST +- mzName: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_cas-spm TEST +- mzName: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_cas-spm/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/dashboard/default.json @@ -0,0 +1,334 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.mzName}}" + ], + "preset": true + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_cas-spm/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/management-zone/README.md @@ -0,0 +1,4 @@ + +### How to configure management zones? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_cas-spm/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/management-zone/default.json @@ -0,0 +1,23 @@ +{ + "dimensionalRules": [], + "name": "{{.name}}", + "entitySelectorBasedRules": [ + { + "enabled": true, + "entitySelector": "type(Service),tag({{.compassIDs}})" + }, + { + "enabled": true, + "entitySelector": "type(SERVICE),databaseName.exists(),toRelationship.calls(type(SERVICE),tag({{.compassIDs}}))" + }, + { + "enabled": true, + "entitySelector": "type(PROCESS_GROUP_INSTANCE),tag({{.compassIDs}})" + }, + { + "enabled": true, + "entitySelector": "type(HOST),tag({{.compassIDs}})" + } + ], + "rules": [] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_cas-spm/management-zone/management-zone.yaml new file mode 100644 index 00000000..150b205b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_cas-spm +- compassIDs: \"compass-id:cas-spm\" diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_cas-spm/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_cas-spm/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_cas-spm/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_cas-spm/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_cas-spm/notification/notification.yaml new file mode 100644 index 00000000..5da0ce5a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDnewComponentTag: msTeams.json +- CDnewComponentTagITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDnewComponentTag.EMEA-Prod: +- name: CD_VDLM_cas-spm PROD +- alertingProfile: CD_VDLM_cas-spm/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_cas-spm PROD +- alertingProfile: CD_VDLM_cas-spm/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_cas-spm PROD +- alertingProfile: CD_VDLM_cas-spm/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_cas-spm INT +- alertingProfile: CD_VDLM_cas-spm/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_cas-spm INT +- alertingProfile: CD_VDLM_cas-spm/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_cas-spm INT +- alertingProfile: CD_VDLM_cas-spm/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_cas-spm ITSM PROD +- alertingProfile: CD_VDLM_cas-spm/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_cas-spm ITSM PROD +- alertingProfile: CD_VDLM_cas-spm/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_cas-spm ITSM PROD +- alertingProfile: CD_VDLM_cas-spm/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_cas-spm ITSM INT +- alertingProfile: CD_VDLM_cas-spm/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_cas-spm ITSM INT +- alertingProfile: CD_VDLM_cas-spm/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_cas-spm ITSM INT +- alertingProfile: CD_VDLM_cas-spm/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_cas-spm/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_cas-spm/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-spm/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_cas-spm/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..db424b1d --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-spm/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_cas-spm - +- mzName: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-spm/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_cas-stm/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..bd82a542 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/alerting-profile/alerting-profile.yaml @@ -0,0 +1,37 @@ +config: +- CDnewComponentTag: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-Prod: +- name: CD_VDLM_cas-stm PROD +- mzId: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_cas-stm PROD +- mzId: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_cas-stm PROD +- mzId: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_cas-stm INT +- mzId: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_cas-stm INT +- mzId: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_cas-stm INT +- mzId: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_cas-stm/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/alerting-profile/default.json @@ -0,0 +1,78 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_cas-stm/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_cas-stm/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_cas-stm/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,7 @@ +config: +- CDnewComponentTag: template.json + +CDnewComponentTag: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_cas-stm/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_cas-stm/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_cas-stm/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,7 @@ +config: +- CDnewComponentTag: template.json + +CDnewComponentTag: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_cas-stm/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_cas-stm/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_cas-stm/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..a58fde35 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/custom-service-java/custom-service-java.yaml @@ -0,0 +1,10 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- methodArgs: java.lang.Byte[],java.lang.String +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-1d.json b/BMW-Dynatrace-config/CD_VDLM_cas-stm/custom-service-java/template-1-1.json similarity index 72% rename from BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-1d.json rename to BMW-Dynatrace-config/CD_VDLM_cas-stm/custom-service-java/template-1-1.json index 6f3d0988..ebe95097 100644 --- a/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-1d.json +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/custom-service-java/template-1-1.json @@ -13,10 +13,7 @@ "matcher": "EQUALS", "methodRules": [ { - "argumentTypes": [ - "com.bmw.cc.seam.integration.notificationservice.entity.ServiceNotification", - "java.lang.String" - ], + "argumentTypes": ["{{.methodArgs}}"], "methodName": "{{.methodName}}", "returnType": "{{.returnType}}" } diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_cas-stm/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_cas-stm/dashboard/dashboard.yaml new file mode 100644 index 00000000..d8936e0e --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/dashboard/dashboard.yaml @@ -0,0 +1,109 @@ +config: +- CDnewComponentTag-PROD: default.json +- CDnewComponentTag-E2E: default.json +- CDnewComponentTag-INT: default.json +- CDnewComponentTag-TEST: default.json + +#PROD dashboards for EMEA/NA/CN Prod +CDnewComponentTag-PROD: +- name: CD_VDLM_cas-stm PROD +- mzName: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_cas-stm PROD +- mzName: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_cas-stm PROD +- mzName: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_cas-stm PROD +- mzName: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_cas-stm E2E +- mzName: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_cas-stm E2E +- mzName: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_cas-stm E2E +- mzName: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_cas-stm E2E +- mzName: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_cas-stm INT +- mzName: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_cas-stm INT +- mzName: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_cas-stm INT +- mzName: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_cas-stm INT +- mzName: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_cas-stm TEST +- mzName: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_cas-stm TEST +- mzName: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_cas-stm TEST +- mzName: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_cas-stm TEST +- mzName: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_cas-stm/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/dashboard/default.json @@ -0,0 +1,334 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.mzName}}" + ], + "preset": true + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_cas-stm/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/management-zone/README.md @@ -0,0 +1,4 @@ + +### How to configure management zones? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_cas-stm/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/management-zone/default.json @@ -0,0 +1,23 @@ +{ + "dimensionalRules": [], + "name": "{{.name}}", + "entitySelectorBasedRules": [ + { + "enabled": true, + "entitySelector": "type(Service),tag({{.compassIDs}})" + }, + { + "enabled": true, + "entitySelector": "type(SERVICE),databaseName.exists(),toRelationship.calls(type(SERVICE),tag({{.compassIDs}}))" + }, + { + "enabled": true, + "entitySelector": "type(PROCESS_GROUP_INSTANCE),tag({{.compassIDs}})" + }, + { + "enabled": true, + "entitySelector": "type(HOST),tag({{.compassIDs}})" + } + ], + "rules": [] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_cas-stm/management-zone/management-zone.yaml new file mode 100644 index 00000000..cbd41e7f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_cas-stm +- compassIDs: \"compass-id:cas-stm\" diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_cas-stm/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_cas-stm/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_cas-stm/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_cas-stm/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_cas-stm/notification/notification.yaml new file mode 100644 index 00000000..002a93ff --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDnewComponentTag: msTeams.json +- CDnewComponentTagITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDnewComponentTag.EMEA-Prod: +- name: CD_VDLM_cas-stm PROD +- alertingProfile: CD_VDLM_cas-stm/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_cas-stm PROD +- alertingProfile: CD_VDLM_cas-stm/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_cas-stm PROD +- alertingProfile: CD_VDLM_cas-stm/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_cas-stm INT +- alertingProfile: CD_VDLM_cas-stm/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_cas-stm INT +- alertingProfile: CD_VDLM_cas-stm/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_cas-stm INT +- alertingProfile: CD_VDLM_cas-stm/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_cas-stm ITSM PROD +- alertingProfile: CD_VDLM_cas-stm/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_cas-stm ITSM PROD +- alertingProfile: CD_VDLM_cas-stm/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_cas-stm ITSM PROD +- alertingProfile: CD_VDLM_cas-stm/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_cas-stm ITSM INT +- alertingProfile: CD_VDLM_cas-stm/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_cas-stm ITSM INT +- alertingProfile: CD_VDLM_cas-stm/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_cas-stm ITSM INT +- alertingProfile: CD_VDLM_cas-stm/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_cas-stm/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_cas-stm/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_cas-stm/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_cas-stm/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..ed497200 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_cas-stm/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_cas-stm - +- mzName: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_cas-stm/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_diagservice/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_diagservice/custom-service-java/custom-service-java.yaml index 25f8a028..d48cfc65 100644 --- a/BMW-Dynatrace-config/CD_VDLM_diagservice/custom-service-java/custom-service-java.yaml +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/custom-service-java/custom-service-java.yaml @@ -1,9 +1,27 @@ config: - customService1: template-1-1.json +- customService2: 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 +- name: "ifs-007 (JOYNR) requestDiagResult/notifyDiagResult - IN/OUT" +- className1: com.bmw.cc.ts.diagservice.joynr.consumer.boundary.DiagServiceV1Consumer +- methodName1: requestDiagResult +- methodArgs1: com.bmw.cc.ts.diagservice.joynr.consumer.entity.RequestPdmResultData,boolean,int +- returnType1: void +- className2: com.bmw.cc.ts.diagservice.joynr.consumer.boundary.DiagServiceBackendServiceInterface +- methodName2: notifyDiagResult +- methodArgs2: joynr.de.bmw.infotainment.telematic.common.CommonTypes.RequestId,java.lang.String,joynr.de.bmw.infotainment.telematic.common.CommonTypes.ResultCode +- returnType2: void +- skipDeployment: "false" + +customService2: +- name: "ifs-007 (JOYNR) requestPdmResult/notifyPdmResult - IN/OUT" +- className1: com.bmw.cc.ts.diagservice.joynr.consumer.boundary.DiagServiceV1Consumer +- methodName1: requestPdmResult +- methodArgs1: com.bmw.cc.ts.diagservice.joynr.consumer.entity.RequestPdmResultData,boolean,int +- returnType1: void +- className2: com.bmw.cc.ts.diagservice.joynr.consumer.boundary.DiagServiceBackendServiceInterface +- methodName2: notifyPdmResultStatus +- methodArgs2: joynr.de.bmw.infotainment.telematic.common.CommonTypes.RequestId,joynr.de.bmw.infotainment.telematic.teleservice.TeleserviceTypes.AppInfo,joynr.de.bmw.infotainment.telematic.teleservice.TeleserviceTypes.TeleserviceInfo,java.lang.String,java.lang.String,java.lang.String,joynr.de.bmw.infotainment.telematic.common.CommonTypes.ResultCode +- returnType2: void +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_diagservice/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_diagservice/custom-service-java/template-1-1.json index b3003515..f0077b0c 100644 --- a/BMW-Dynatrace-config/CD_VDLM_diagservice/custom-service-java/template-1-1.json +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/custom-service-java/template-1-1.json @@ -1,23 +1,36 @@ { - "enabled": true, - "name": "{{.name}}", - "processGroups": [], - "queueEntryPoint": false, - "queueEntryPointType": null, - "rules": [ - { - "annotations": [], - "className": "{{.className}}", - "enabled": true, - "fileName": "", - "matcher": "EQUALS", - "methodRules": [ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ { - "argumentTypes": [], - "methodName": "{{.methodName}}", - "returnType": "{{.returnType}}" + "annotations": [], + "className": "{{.className1}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": ["{{.methodArgs1}}"], + "methodName": "{{.methodName1}}", + "returnType": "{{.returnType1}}" + }] + }, + { + "annotations": [], + "className": "{{.className2}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": ["{{.methodArgs2}}"], + "methodName": "{{.methodName2}}", + "returnType": "{{.returnType2}}" + } + ] } - ] - } - ] + ] } \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_eshad/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..d90a987d --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/alerting-profile/alerting-profile.yaml @@ -0,0 +1,37 @@ +config: +- CDnewComponentTag: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-Prod: +- name: CD_VDLM_eshad PROD +- mzId: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_eshad PROD +- mzId: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_eshad PROD +- mzId: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_eshad INT +- mzId: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_eshad INT +- mzId: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_eshad INT +- mzId: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_eshad/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/alerting-profile/default.json @@ -0,0 +1,78 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_eshad/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_eshad/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_eshad/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,7 @@ +config: +- CDnewComponentTag: template.json + +CDnewComponentTag: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_eshad/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_eshad/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_eshad/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,7 @@ +config: +- CDnewComponentTag: template.json + +CDnewComponentTag: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_eshad/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_eshad/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_eshad/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..a58fde35 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/custom-service-java/custom-service-java.yaml @@ -0,0 +1,10 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- methodArgs: java.lang.Byte[],java.lang.String +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-1a.json b/BMW-Dynatrace-config/CD_VDLM_eshad/custom-service-java/template-1-1.json similarity index 70% rename from BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-1a.json rename to BMW-Dynatrace-config/CD_VDLM_eshad/custom-service-java/template-1-1.json index 61022ee8..ebe95097 100644 --- a/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-1a.json +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/custom-service-java/template-1-1.json @@ -13,11 +13,7 @@ "matcher": "EQUALS", "methodRules": [ { - "argumentTypes": [ - "java.lang.String", - "java.util.Map", - "org.springframework.cloud.aws.messaging.listener.Acknowledgment" - ], + "argumentTypes": ["{{.methodArgs}}"], "methodName": "{{.methodName}}", "returnType": "{{.returnType}}" } diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_eshad/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_eshad/dashboard/dashboard.yaml new file mode 100644 index 00000000..854d3318 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/dashboard/dashboard.yaml @@ -0,0 +1,109 @@ +config: +- CDnewComponentTag-PROD: default.json +- CDnewComponentTag-E2E: default.json +- CDnewComponentTag-INT: default.json +- CDnewComponentTag-TEST: default.json + +#PROD dashboards for EMEA/NA/CN Prod +CDnewComponentTag-PROD: +- name: CD_VDLM_eshad PROD +- mzName: CD_VDLM_eshad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_eshad PROD +- mzName: CD_VDLM_eshad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_eshad PROD +- mzName: CD_VDLM_eshad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_eshad PROD +- mzName: CD_VDLM_eshad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_eshad E2E +- mzName: CD_VDLM_eshad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_eshad E2E +- mzName: CD_VDLM_eshad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_eshad E2E +- mzName: CD_VDLM_eshad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_eshad E2E +- mzName: CD_VDLM_eshad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_eshad INT +- mzName: CD_VDLM_eshad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_eshad INT +- mzName: CD_VDLM_eshad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_eshad INT +- mzName: CD_VDLM_eshad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_eshad INT +- mzName: CD_VDLM_eshad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_eshad TEST +- mzName: CD_VDLM_eshad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_eshad TEST +- mzName: CD_VDLM_eshad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_eshad TEST +- mzName: CD_VDLM_eshad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_eshad TEST +- mzName: CD_VDLM_eshad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_eshad/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/dashboard/default.json @@ -0,0 +1,334 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.mzName}}" + ], + "preset": true + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_eshad/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/management-zone/README.md @@ -0,0 +1,4 @@ + +### How to configure management zones? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_eshad/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/management-zone/default.json @@ -0,0 +1,23 @@ +{ + "dimensionalRules": [], + "name": "{{.name}}", + "entitySelectorBasedRules": [ + { + "enabled": true, + "entitySelector": "type(Service),tag({{.compassIDs}})" + }, + { + "enabled": true, + "entitySelector": "type(SERVICE),databaseName.exists(),toRelationship.calls(type(SERVICE),tag({{.compassIDs}}))" + }, + { + "enabled": true, + "entitySelector": "type(PROCESS_GROUP_INSTANCE),tag({{.compassIDs}})" + }, + { + "enabled": true, + "entitySelector": "type(HOST),tag({{.compassIDs}})" + } + ], + "rules": [] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_eshad/management-zone/management-zone.yaml new file mode 100644 index 00000000..30557131 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_eshad +- compassIDs: \"compass-id:eshad\" diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_eshad/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_eshad/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_eshad/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_eshad/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_eshad/notification/notification.yaml new file mode 100644 index 00000000..afdfc9d3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDnewComponentTag: msTeams.json +- CDnewComponentTagITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDnewComponentTag.EMEA-Prod: +- name: CD_VDLM_eshad PROD +- alertingProfile: CD_VDLM_eshad/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_eshad PROD +- alertingProfile: CD_VDLM_eshad/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_eshad PROD +- alertingProfile: CD_VDLM_eshad/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_eshad INT +- alertingProfile: CD_VDLM_eshad/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_eshad INT +- alertingProfile: CD_VDLM_eshad/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_eshad INT +- alertingProfile: CD_VDLM_eshad/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_eshad ITSM PROD +- alertingProfile: CD_VDLM_eshad/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_eshad ITSM PROD +- alertingProfile: CD_VDLM_eshad/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_eshad ITSM PROD +- alertingProfile: CD_VDLM_eshad/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_eshad ITSM INT +- alertingProfile: CD_VDLM_eshad/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_eshad ITSM INT +- alertingProfile: CD_VDLM_eshad/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_eshad ITSM INT +- alertingProfile: CD_VDLM_eshad/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_eshad/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_eshad/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_eshad/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_eshad/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..667608ce --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_eshad/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_eshad - +- mzName: CD_VDLM_eshad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_eshad/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..ed49cf12 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/alerting-profile/alerting-profile.yaml @@ -0,0 +1,37 @@ +config: +- CDnewComponentTag: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-Prod: +- name: CD_VDLM_pdmmanager PROD +- mzId: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_pdmmanager PROD +- mzId: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_pdmmanager PROD +- mzId: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_pdmmanager INT +- mzId: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_pdmmanager INT +- mzId: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_pdmmanager INT +- mzId: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/alerting-profile/default.json @@ -0,0 +1,78 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,7 @@ +config: +- CDnewComponentTag: template.json + +CDnewComponentTag: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,7 @@ +config: +- CDnewComponentTag: template.json + +CDnewComponentTag: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..a58fde35 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/custom-service-java/custom-service-java.yaml @@ -0,0 +1,10 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- methodArgs: java.lang.Byte[],java.lang.String +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-1c.json b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/custom-service-java/template-1-1.json similarity index 70% rename from BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-1c.json rename to BMW-Dynatrace-config/CD_VDLM_pdmmanager/custom-service-java/template-1-1.json index 61022ee8..ebe95097 100644 --- a/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-1c.json +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/custom-service-java/template-1-1.json @@ -13,11 +13,7 @@ "matcher": "EQUALS", "methodRules": [ { - "argumentTypes": [ - "java.lang.String", - "java.util.Map", - "org.springframework.cloud.aws.messaging.listener.Acknowledgment" - ], + "argumentTypes": ["{{.methodArgs}}"], "methodName": "{{.methodName}}", "returnType": "{{.returnType}}" } diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/dashboard/dashboard.yaml new file mode 100644 index 00000000..dac1a1f6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/dashboard/dashboard.yaml @@ -0,0 +1,109 @@ +config: +- CDnewComponentTag-PROD: default.json +- CDnewComponentTag-E2E: default.json +- CDnewComponentTag-INT: default.json +- CDnewComponentTag-TEST: default.json + +#PROD dashboards for EMEA/NA/CN Prod +CDnewComponentTag-PROD: +- name: CD_VDLM_pdmmanager PROD +- mzName: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_pdmmanager PROD +- mzName: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_pdmmanager PROD +- mzName: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_pdmmanager PROD +- mzName: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_pdmmanager E2E +- mzName: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_pdmmanager E2E +- mzName: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_pdmmanager E2E +- mzName: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_pdmmanager E2E +- mzName: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_pdmmanager INT +- mzName: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_pdmmanager INT +- mzName: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_pdmmanager INT +- mzName: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_pdmmanager INT +- mzName: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_pdmmanager TEST +- mzName: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_pdmmanager TEST +- mzName: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_pdmmanager TEST +- mzName: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_pdmmanager TEST +- mzName: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/dashboard/default.json @@ -0,0 +1,334 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.mzName}}" + ], + "preset": true + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/management-zone/README.md @@ -0,0 +1,4 @@ + +### How to configure management zones? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/management-zone/default.json @@ -0,0 +1,23 @@ +{ + "dimensionalRules": [], + "name": "{{.name}}", + "entitySelectorBasedRules": [ + { + "enabled": true, + "entitySelector": "type(Service),tag({{.compassIDs}})" + }, + { + "enabled": true, + "entitySelector": "type(SERVICE),databaseName.exists(),toRelationship.calls(type(SERVICE),tag({{.compassIDs}}))" + }, + { + "enabled": true, + "entitySelector": "type(PROCESS_GROUP_INSTANCE),tag({{.compassIDs}})" + }, + { + "enabled": true, + "entitySelector": "type(HOST),tag({{.compassIDs}})" + } + ], + "rules": [] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/management-zone/management-zone.yaml new file mode 100644 index 00000000..2a0c3887 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_pdmmanager +- compassIDs: \"compass-id:pdmmanager\" diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/notification/notification.yaml new file mode 100644 index 00000000..b0384905 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDnewComponentTag: msTeams.json +- CDnewComponentTagITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDnewComponentTag.EMEA-Prod: +- name: CD_VDLM_pdmmanager PROD +- alertingProfile: CD_VDLM_pdmmanager/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_pdmmanager PROD +- alertingProfile: CD_VDLM_pdmmanager/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_pdmmanager PROD +- alertingProfile: CD_VDLM_pdmmanager/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_pdmmanager INT +- alertingProfile: CD_VDLM_pdmmanager/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_pdmmanager INT +- alertingProfile: CD_VDLM_pdmmanager/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_pdmmanager INT +- alertingProfile: CD_VDLM_pdmmanager/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_pdmmanager ITSM PROD +- alertingProfile: CD_VDLM_pdmmanager/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_pdmmanager ITSM PROD +- alertingProfile: CD_VDLM_pdmmanager/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_pdmmanager ITSM PROD +- alertingProfile: CD_VDLM_pdmmanager/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_pdmmanager ITSM INT +- alertingProfile: CD_VDLM_pdmmanager/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_pdmmanager ITSM INT +- alertingProfile: CD_VDLM_pdmmanager/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_pdmmanager ITSM INT +- alertingProfile: CD_VDLM_pdmmanager/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmmanager/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..bd6b58cf --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmmanager/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_pdmmanager - +- mzName: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmmanager/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmupdater/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/custom-service-java/custom-service-java.yaml index 25f8a028..13a0bf2d 100644 --- a/BMW-Dynatrace-config/CD_VDLM_pdmupdater/custom-service-java/custom-service-java.yaml +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/custom-service-java/custom-service-java.yaml @@ -2,8 +2,13 @@ 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 +- name: "ifs-003 (JOYNR) triggerPdmContainerUpdate/notifyPdmContainerStatus - IN/OUT" +- className1: com.bmw.cc.ts.pdmupdater.bm.control.PDMContainerUpdater +- methodName1: triggerPDMContainerUpdate +- methodArgs1: com.bmw.cc.ts.pdmupdater.bm.entity.persistent.PdmData,long +- returnType1: void +- className2: com.bmw.cc.ts.pdmupdater.joynr.consumer.boundary.PDMUpdaterBackendServiceInterface +- methodName2: notifyPdmContainerStatus +- methodArgs2: joynr.de.bmw.infotainment.telematic.common.CommonTypes.RequestId,joynr.de.bmw.infotainment.telematic.teleservice.TeleserviceTypes.VehicleInfo,joynr.de.bmw.infotainment.telematic.teleservice.TeleserviceTypes.AppInfo,java.lang.String,java.lang.String,joynr.de.bmw.infotainment.telematic.common.CommonTypes.ResultCode +- returnType2: void +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmupdater/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/custom-service-java/template-1-1.json index b3003515..f0077b0c 100644 --- a/BMW-Dynatrace-config/CD_VDLM_pdmupdater/custom-service-java/template-1-1.json +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/custom-service-java/template-1-1.json @@ -1,23 +1,36 @@ { - "enabled": true, - "name": "{{.name}}", - "processGroups": [], - "queueEntryPoint": false, - "queueEntryPointType": null, - "rules": [ - { - "annotations": [], - "className": "{{.className}}", - "enabled": true, - "fileName": "", - "matcher": "EQUALS", - "methodRules": [ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ { - "argumentTypes": [], - "methodName": "{{.methodName}}", - "returnType": "{{.returnType}}" + "annotations": [], + "className": "{{.className1}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": ["{{.methodArgs1}}"], + "methodName": "{{.methodName1}}", + "returnType": "{{.returnType1}}" + }] + }, + { + "annotations": [], + "className": "{{.className2}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": ["{{.methodArgs2}}"], + "methodName": "{{.methodName2}}", + "returnType": "{{.returnType2}}" + } + ] } - ] - } - ] + ] } \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_rsurservice/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_rsurservice/custom-service-java/custom-service-java.yaml index 25f8a028..bf5af195 100644 --- a/BMW-Dynatrace-config/CD_VDLM_rsurservice/custom-service-java/custom-service-java.yaml +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/custom-service-java/custom-service-java.yaml @@ -2,8 +2,9 @@ config: - customService1: template-1-1.json customService1: -- name: myJOYNRService -- className: com.bmw.cc.conn.this.is.just.an.exampleClasss -- methodName: exampleJoynrMethod +- name: "ifs-002 (JOYNR) notifyRSUStatus - IN" +- className: com.bmw.cc.ts.rsurservice.joynr.consumer.boundary.RSURServiceBackendServiceInterface +- methodName: notifyRSUStatus +- methodArgs: joynr.de.bmw.infotainment.telematic.common.CommonTypes.RequestId,java.lang.Long,java.lang.String,joynr.de.bmw.infotainment.telematic.teleservice.TeleserviceTypes.RsuTriggerType,joynr.de.bmw.infotainment.telematic.teleservice.TeleserviceTypes.ExtPosition,java.lang.String,joynr.de.bmw.infotainment.telematic.common.CommonTypes.ResultCode - returnType: void -- skipDeployment: "true" \ No newline at end of file +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_rsurservice/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_rsurservice/custom-service-java/template-1-1.json index b3003515..ebe95097 100644 --- a/BMW-Dynatrace-config/CD_VDLM_rsurservice/custom-service-java/template-1-1.json +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/custom-service-java/template-1-1.json @@ -13,7 +13,7 @@ "matcher": "EQUALS", "methodRules": [ { - "argumentTypes": [], + "argumentTypes": ["{{.methodArgs}}"], "methodName": "{{.methodName}}", "returnType": "{{.returnType}}" } diff --git a/BMW-Dynatrace-config/CD_VDLM_rtcservice/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_rtcservice/custom-service-java/custom-service-java.yaml index 25f8a028..13cc9f3b 100644 --- a/BMW-Dynatrace-config/CD_VDLM_rtcservice/custom-service-java/custom-service-java.yaml +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/custom-service-java/custom-service-java.yaml @@ -2,8 +2,13 @@ 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 +- name: "ifs-002 (JOYNR) request/notifyKeyData - IN/OUT" +- className1: com.bmw.cc.ts.rtcservice.joynr.consumer.boundary.RTCServiceV1Consumer +- methodName1: requestKeyData +- methodArgs1: joynr.de.bmw.infotainment.telematic.common.CommonTypes.RequestId +- returnType1: void +- className2: com.bmw.cc.ts.rtcservice.joynr.consumer.boundary.RTCBackendServiceInterface +- methodName2: notifyKeyData +- methodArgs2: joynr.de.bmw.infotainment.telematic.common.CommonTypes.RequestId,joynr.de.bmw.infotainment.telematic.teleservice.TeleserviceTypes.TeleserviceInfo,java.lang.String,joynr.de.bmw.infotainment.telematic.common.CommonTypes.ResultCode +- returnType2: void +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_rtcservice/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_rtcservice/custom-service-java/template-1-1.json index b3003515..f0077b0c 100644 --- a/BMW-Dynatrace-config/CD_VDLM_rtcservice/custom-service-java/template-1-1.json +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/custom-service-java/template-1-1.json @@ -1,23 +1,36 @@ { - "enabled": true, - "name": "{{.name}}", - "processGroups": [], - "queueEntryPoint": false, - "queueEntryPointType": null, - "rules": [ - { - "annotations": [], - "className": "{{.className}}", - "enabled": true, - "fileName": "", - "matcher": "EQUALS", - "methodRules": [ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ { - "argumentTypes": [], - "methodName": "{{.methodName}}", - "returnType": "{{.returnType}}" + "annotations": [], + "className": "{{.className1}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": ["{{.methodArgs1}}"], + "methodName": "{{.methodName1}}", + "returnType": "{{.returnType1}}" + }] + }, + { + "annotations": [], + "className": "{{.className2}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": ["{{.methodArgs2}}"], + "methodName": "{{.methodName2}}", + "returnType": "{{.returnType2}}" + } + ] } - ] - } - ] + ] } \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_scallservice/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_scallservice/custom-service-java/custom-service-java.yaml index f19e7fbe..2c090151 100644 --- a/BMW-Dynatrace-config/CD_VDLM_scallservice/custom-service-java/custom-service-java.yaml +++ b/BMW-Dynatrace-config/CD_VDLM_scallservice/custom-service-java/custom-service-java.yaml @@ -3,19 +3,22 @@ config: - customService2: template-1-1.json customService1: -- name: "VDLM_scallservice - ifs-002 (JOYNR) requestMaintenanceStatus/confirmMaintenanceStatus - OUT" +- name: "ifs-002 (JOYNR) requestMaintenanceStatus/confirmMaintenanceStatus - OUT" - className: com.bmw.cc.ts.scallservice.joynr.consumer.boundary.SCallServiceV1Consumer - methodName1: confirmMaintenanceStatus +- methodArgs1: joynr.de.bmw.infotainment.telematic.common.CommonTypes.RequestId,joynr.de.bmw.infotainment.telematic.common.CommonTypes.ResultCode - returnType1: void - methodName2: requestMaintenanceStatus +- methodArgs2: joynr.de.bmw.infotainment.telematic.common.CommonTypes.RequestId - returnType2: void - skipDeployment: "false" customService2: - - name: "VDLM_scallservice - ifs-002 (JOYNR) notifyMaintenanceStatus - IN" - - className: com.bmw.cc.ts.scallservice.bm.maintenance.boundary.MaintenanceConfirmBF - - methodName: notifyMaintenanceStatus - - returnType: void - - skipDeployment: "false" +- name: "ifs-002 (JOYNR) notifyMaintenanceStatus - IN" +- className: com.bmw.cc.ts.scallservice.bm.maintenance.boundary.MaintenanceConfirmBF +- methodName: notifyMaintenanceStatus +- methodArgs: com.bmw.cc.ts.joynr.consumer.entity.NotifyMaintenanceVehicleResponse +- returnType: void +- skipDeployment: "false" diff --git a/BMW-Dynatrace-config/CD_VDLM_scallservice/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_scallservice/custom-service-java/template-1-1.json index 4ab1ee81..ebe95097 100644 --- a/BMW-Dynatrace-config/CD_VDLM_scallservice/custom-service-java/template-1-1.json +++ b/BMW-Dynatrace-config/CD_VDLM_scallservice/custom-service-java/template-1-1.json @@ -13,7 +13,7 @@ "matcher": "EQUALS", "methodRules": [ { - "argumentTypes": ["com.bmw.cc.ts.joynr.consumer.entity.NotifyMaintenanceVehicleResponse"], + "argumentTypes": ["{{.methodArgs}}"], "methodName": "{{.methodName}}", "returnType": "{{.returnType}}" } diff --git a/BMW-Dynatrace-config/CD_VDLM_scallservice/custom-service-java/template-1-2.json b/BMW-Dynatrace-config/CD_VDLM_scallservice/custom-service-java/template-1-2.json index b3b7224f..1e4f1928 100644 --- a/BMW-Dynatrace-config/CD_VDLM_scallservice/custom-service-java/template-1-2.json +++ b/BMW-Dynatrace-config/CD_VDLM_scallservice/custom-service-java/template-1-2.json @@ -13,24 +13,15 @@ "matcher": "EQUALS", "methodRules": [ { - "argumentTypes": ["joynr.de.bmw.infotainment.telematic.common.CommonTypes.RequestId","joynr.de.bmw.infotainment.telematic.common.CommonTypes.ResultCode"], + "argumentTypes": ["{{.methodArgs1}}"], "methodName": "{{.methodName1}}", "returnType": "{{.returnType1}}" - }] - }, - { - "annotations": [], - "className": "{{.className}}", - "enabled": true, - "fileName": "", - "matcher": "EQUALS", - "methodRules": [ + }, { - "argumentTypes": [ "joynr.de.bmw.infotainment.telematic.common.CommonTypes.RequestId" ], + "argumentTypes": ["{{.methodArgs2}}"], "methodName": "{{.methodName2}}", "returnType": "{{.returnType2}}" - } - ] + }] } ] } \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/custom-service-java.yaml index 91a21533..5bd25434 100644 --- a/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/custom-service-java.yaml +++ b/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/custom-service-java.yaml @@ -1,43 +1,49 @@ config: -- customService1: template-1-1a.json -- customService2: template-1-1b.json -- customService3: template-1-1c.json -- customService4: template-1-1d.json -- customService5: template-1-2e.json +- customService1: template-1-1.json +- customService2: template-1-1.json +- customService3: template-1-1.json +- customService4: template-1-1.json +- customService5: template-1-2.json customService1: -- name: "VDLM_seam - ifs-004 (SQS) ServiceDemand - IN" -- className: com.bmw.cc.seam.api.servicedemandevent.v1.boundary.ServiceDemandEventMDB -- methodName: listen -- returnType: void +- name: "ifs-004 (SQS) ServiceDemand - IN" +- className1: com.bmw.cc.seam.api.servicedemandevent.v1.boundary.ServiceDemandEventMDB +- methodName1: listen +- methodArgs1: java.lang.String,java.util.Map,org.springframework.cloud.aws.messaging.listener.Acknowledgment +- returnType1: void - skipDeployment: "false" customService2: - - name: "VDLM_seam - ifs-005 (SQS) ServiceAppointment - IN" - - className: com.bmw.cc.seam.api.appointment.v1.boundary.AppointmentListenerMDB - - methodName: listen - - returnType: void + - name: "ifs-005 (SQS) ServiceAppointment - IN" + - className1: com.bmw.cc.seam.api.appointment.v1.boundary.AppointmentListenerMDB + - methodName1: listen + - methodArgs1: java.lang.String,java.util.Map + - returnType1: void - skipDeployment: "false" customService3: - - name: "VDLM_seam - ifs-003 (SQS) ServiceNotificationFeedback - IN" - - className: com.bmw.cc.seam.api.notificationfeedback.v1.boundary.ServiceNotificationFeedbackListenerMDB - - methodName: listen - - returnType: void + - name: "ifs-003 (SQS) ServiceNotificationFeedback - IN" + - className1: com.bmw.cc.seam.api.notificationfeedback.v1.boundary.ServiceNotificationFeedbackListenerMDB + - methodName1: listen + - methodArgs1: java.lang.String,java.util.Map,org.springframework.cloud.aws.messaging.listener.Acknowledgment + - returnType1: void - skipDeployment: "false" customService4: - - name: "VDLM_seam - ifs (SQS) ServiceNotification - OUT" - - className: com.bmw.cc.seam.integration.notificationservice.boundary.ServiceNotificationESI - - methodName: send - - returnType: void + - name: "ifs (SQS) ServiceNotification - OUT" + - className1: com.bmw.cc.seam.integration.notificationservice.boundary.ServiceNotificationESI + - methodName1: send + - methodArgs1: com.bmw.cc.seam.integration.notificationservice.entity.ServiceNotification,java.lang.String + - returnType1: void - skipDeployment: "false" customService5: - - name: "VDLM_seam - cdh: ifs-001 (Kinesis) Reporting - OUT" + - name: "cdh: ifs-001 (Kinesis) Reporting - OUT" - className: com.bmw.cc.seam.integration.datalake.boundary.DataLakeESI - methodName1: sendAsync + - methodArgs1: java.lang.String,java.lang.String - returnType1: void - methodName2: sendSync + - methodArgs2: java.lang.String - returnType2: void - skipDeployment: "false" diff --git a/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-1-without-methodargs.json b/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-1-without-methodargs.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-1-without-methodargs.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-1.json index b3003515..d972cec5 100644 --- a/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-1.json +++ b/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-1.json @@ -7,15 +7,15 @@ "rules": [ { "annotations": [], - "className": "{{.className}}", + "className": "{{.className1}}", "enabled": true, "fileName": "", "matcher": "EQUALS", "methodRules": [ { - "argumentTypes": [], - "methodName": "{{.methodName}}", - "returnType": "{{.returnType}}" + "argumentTypes": ["{{.methodArgs1}}"], + "methodName": "{{.methodName1}}", + "returnType": "{{.returnType1}}" } ] } diff --git a/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-2.json b/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-2.json new file mode 100644 index 00000000..956c6803 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-2.json @@ -0,0 +1,37 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": ["{{.methodArgs1}}"], + "methodName": "{{.methodName1}}", + "returnType": "{{.returnType1}}" + } + ] + }, + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": ["{{.methodArgs2}}"], + "methodName": "{{.methodName2}}", + "returnType": "{{.returnType2}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-2e.json b/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-2-1.json similarity index 71% rename from BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-2e.json rename to BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-2-1.json index 5d450258..f0077b0c 100644 --- a/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-1-2e.json +++ b/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-2-1.json @@ -7,31 +7,26 @@ "rules": [ { "annotations": [], - "className": "{{.className}}", + "className": "{{.className1}}", "enabled": true, "fileName": "", "matcher": "EQUALS", "methodRules": [ { - "argumentTypes": [ - "java.lang.String", - "java.lang.String" - ], + "argumentTypes": ["{{.methodArgs1}}"], "methodName": "{{.methodName1}}", "returnType": "{{.returnType1}}" }] }, { "annotations": [], - "className": "{{.className}}", + "className": "{{.className2}}", "enabled": true, "fileName": "", "matcher": "EQUALS", "methodRules": [ { - "argumentTypes": [ - "java.lang.String" - ], + "argumentTypes": ["{{.methodArgs2}}"], "methodName": "{{.methodName2}}", "returnType": "{{.returnType2}}" } diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-asc/custom-service-java/template-1-2.json b/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-2-2-without-methodargs.json similarity index 81% rename from BMW-Dynatrace-config/CD_VDLM_ts-asc/custom-service-java/template-1-2.json rename to BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-2-2-without-methodargs.json index 9d13d592..7ed95c38 100644 --- a/BMW-Dynatrace-config/CD_VDLM_ts-asc/custom-service-java/template-1-2.json +++ b/BMW-Dynatrace-config/CD_VDLM_seam/custom-service-java/template-2-2-without-methodargs.json @@ -7,26 +7,26 @@ "rules": [ { "annotations": [], - "className": "{{.className}}", + "className": "{{.className1}}", "enabled": true, "fileName": "", "matcher": "EQUALS", "methodRules": [ { - "argumentTypes": [ ], + "argumentTypes": [], "methodName": "{{.methodName1}}", "returnType": "{{.returnType1}}" }] }, { "annotations": [], - "className": "{{.className}}", + "className": "{{.className2}}", "enabled": true, "fileName": "", "matcher": "EQUALS", "methodRules": [ { - "argumentTypes": [ ], + "argumentTypes": [], "methodName": "{{.methodName2}}", "returnType": "{{.returnType2}}" } diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-asc/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-asc/custom-service-java/custom-service-java.yaml index 87745cc7..c7e31b68 100644 --- a/BMW-Dynatrace-config/CD_VDLM_ts-asc/custom-service-java/custom-service-java.yaml +++ b/BMW-Dynatrace-config/CD_VDLM_ts-asc/custom-service-java/custom-service-java.yaml @@ -1,35 +1,34 @@ config: -- customService1: template-1-2.json +- customService1: template-2-2-without-methodargs.json - customService2: template-2-1.json - customService3: template-1-1.json customService1: -- name: VDLM_ts-asc - (Timer) deletion/timeout -- className: com.bmw.cc.asc.bm.boundary.TimerBF +- name: (Timer) deletion/timeout +- className1: com.bmw.cc.asc.bm.boundary.TimerBF - methodName1: executeDeletionJob - returnType1: void -# - argumentTypes1: +- className2: com.bmw.cc.asc.bm.boundary.TimerBF - methodName2: executeTimeoutJob - returnType2: void -# - argumentTypes2: - skipDeployment: "false" customService2: -- name: VDLM_ts-asc - ifs-001 (SQS) AscIn/AscOut - IN/OUT -- className1: com.bmw.cc.asc.bm.boundary.TeleXBF -- methodName1: handleTeleXMessage +- name: ifs-001 (SQS) AscIn/Out - IN/OUT +- className1: com.bmw.cc.asc.integration.sqs.boundary.TeleXSqsListener +- methodName1: onSqsMessage - returnType1: void -# - argumentTypes1: +- methodArgs1: java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String - className2: com.bmw.cc.asc.integration.sqs.boundary.TeleXSqsESI - methodName2: send - returnType2: void -# - argumentTypes2: +- methodArgs2: java.lang.String,java.util.Map - skipDeployment: "false" customService3: -- name: VDLM_ts-asc - (MQS) CallTopic - OUT +- name: (MQS) CallTopic - OUT - className: com.bmw.cc.asc.integration.jms.boundry.CallTopicJmsESI - methodName: send - returnType: void -# - argumentTypes: +- methodArgs: java.lang.String,com.bmw.cc.tscs.enums.CallState,com.bmw.cc.asc.bm.entity.Call - skipDeployment: "false" diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-asc/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_ts-asc/custom-service-java/template-1-1.json index a50c1a24..ebe95097 100644 --- a/BMW-Dynatrace-config/CD_VDLM_ts-asc/custom-service-java/template-1-1.json +++ b/BMW-Dynatrace-config/CD_VDLM_ts-asc/custom-service-java/template-1-1.json @@ -13,11 +13,7 @@ "matcher": "EQUALS", "methodRules": [ { - "argumentTypes": [ - "java.lang.String", - "com.bmw.cc.tscs.enums.CallState", - "com.bmw.cc.asc.bm.entity.Call" - ], + "argumentTypes": ["{{.methodArgs}}"], "methodName": "{{.methodName}}", "returnType": "{{.returnType}}" } diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-asc/custom-service-java/template-2-1.json b/BMW-Dynatrace-config/CD_VDLM_ts-asc/custom-service-java/template-2-1.json index 18dd391c..f0077b0c 100644 --- a/BMW-Dynatrace-config/CD_VDLM_ts-asc/custom-service-java/template-2-1.json +++ b/BMW-Dynatrace-config/CD_VDLM_ts-asc/custom-service-java/template-2-1.json @@ -13,9 +13,7 @@ "matcher": "EQUALS", "methodRules": [ { - "argumentTypes": [ - "com.bmw.cc.asc.integration.sqs.entity.TeleXMessageData" - ], + "argumentTypes": ["{{.methodArgs1}}"], "methodName": "{{.methodName1}}", "returnType": "{{.returnType1}}" }] @@ -28,10 +26,7 @@ "matcher": "EQUALS", "methodRules": [ { - "argumentTypes": [ - "java.lang.String", - "java.util.Map" - ], + "argumentTypes": ["{{.methodArgs2}}"], "methodName": "{{.methodName2}}", "returnType": "{{.returnType2}}" } diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-asc/custom-service-java/template-2-2-without-methodargs.json b/BMW-Dynatrace-config/CD_VDLM_ts-asc/custom-service-java/template-2-2-without-methodargs.json new file mode 100644 index 00000000..7ed95c38 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-asc/custom-service-java/template-2-2-without-methodargs.json @@ -0,0 +1,36 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className1}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName1}}", + "returnType": "{{.returnType1}}" + }] + }, + { + "annotations": [], + "className": "{{.className2}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName2}}", + "returnType": "{{.returnType2}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/custom-service-java/custom-service-java.yaml index 25f8a028..1677d38f 100644 --- a/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/custom-service-java/custom-service-java.yaml +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/custom-service-java/custom-service-java.yaml @@ -1,9 +1,36 @@ config: -- customService1: template-1-1.json +- customService1: template-2-1.json +- customService2: template-2-1.json +- customService3: template-1-1.json customService1: -- name: myJOYNRService -- className: com.bmw.cc.conn.this.is.just.an.exampleClasss -- methodName: exampleJoynrMethod +- name: "ifs-001 (SQS) BCallIn/Out - IN/OUT" +- className1: com.bmw.cc.tsbcallhandler.integration.sqs.boundary.TeleXSqsListenerMF +- methodName1: onTeleXMessage +- methodArgs1: java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String +- returnType1: void +- className2: com.bmw.cc.tsbcallhandler.integration.sqs.boundary.TeleXSqsESI +- methodName2: send +- methodArgs2: java.lang.String,java.util.Map +- returnType2: void +- skipDeployment: "false" + +customService2: +- name: ifs-005 (MQS) BCallHandlerIstaIn/Out - IN/OUT +- className1: com.bmw.cc.tsbcallhandler.integration.jms.boundary.IstaTsNextJmsESI +- methodName1: onMessage +- returnType1: void +- methodArgs1: java.lang.String +- className2: com.bmw.cc.tsbcallhandler.integration.jms.boundary.IstaTsNextJmsESI +- methodName2: send +- returnType2: void +- methodArgs2: java.lang.String +- skipDeployment: "false" + +customService3: +- name: (MQS) CallTopic - OUT +- className: com.bmw.cc.tsbcallhandler.integration.jms.boundary.CallTopicJmsESI +- methodName: send - returnType: void -- skipDeployment: "true" \ No newline at end of file +- methodArgs: java.lang.String,com.bmw.cc.tscs.enums.CallState,com.bmw.cc.tscs.enums.CallType,com.bmw.cc.tsbcallhandler.bm.entity.BCall +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/custom-service-java/template-1-1.json index b3003515..ebe95097 100644 --- a/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/custom-service-java/template-1-1.json +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/custom-service-java/template-1-1.json @@ -13,7 +13,7 @@ "matcher": "EQUALS", "methodRules": [ { - "argumentTypes": [], + "argumentTypes": ["{{.methodArgs}}"], "methodName": "{{.methodName}}", "returnType": "{{.returnType}}" } diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/custom-service-java/template-2-1.json b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/custom-service-java/template-2-1.json new file mode 100644 index 00000000..f0077b0c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/custom-service-java/template-2-1.json @@ -0,0 +1,36 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className1}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": ["{{.methodArgs1}}"], + "methodName": "{{.methodName1}}", + "returnType": "{{.returnType1}}" + }] + }, + { + "annotations": [], + "className": "{{.className2}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": ["{{.methodArgs2}}"], + "methodName": "{{.methodName2}}", + "returnType": "{{.returnType2}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tsbgservice/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/custom-service-java/custom-service-java.yaml index 25f8a028..b9e7ac12 100644 --- a/BMW-Dynatrace-config/CD_VDLM_tsbgservice/custom-service-java/custom-service-java.yaml +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/custom-service-java/custom-service-java.yaml @@ -2,8 +2,13 @@ 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 +- name: "ifs-005 (JOYNR) notify/confirmBatteryStatus - IN/OUT" +- className1: com.bmw.cc.ts.tsbgservice.api.joynr.v1.boundary.TeleserviceTSBGBackendProviderBF +- methodName1: notifyBatteryStatus +- methodArgs1: joynr.de.bmw.infotainment.telematic.common.CommonTypes.RequestId,joynr.de.bmw.infotainment.telematic.teleservice.TeleserviceTypes.VehicleInfo,joynr.de.bmw.infotainment.telematic.teleservice.TeleserviceTypes.AppInfo,joynr.de.bmw.infotainment.telematic.teleservice.TeleserviceTypes.TeleserviceInfo,joynr.de.bmw.infotainment.telematic.teleservice.TeleserviceTypes.BatteryCall[],joynr.de.bmw.infotainment.telematic.common.CommonTypes.ResultCode +- returnType1: io.joynr.provider.Promise +- className2: com.bmw.cc.ts.tsbgservice.api.joynr.v1.boundary.TeleserviceTSBGBackendProviderBF +- methodName2: confirmBatteryStatus +- methodArgs2: joynr.de.bmw.infotainment.telematic.common.CommonTypes.RequestId,joynr.de.bmw.infotainment.telematic.common.CommonTypes.ResultCode,long,java.lang.String +- returnType2: void +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tsbgservice/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/custom-service-java/template-1-1.json index b3003515..f0077b0c 100644 --- a/BMW-Dynatrace-config/CD_VDLM_tsbgservice/custom-service-java/template-1-1.json +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/custom-service-java/template-1-1.json @@ -1,23 +1,36 @@ { - "enabled": true, - "name": "{{.name}}", - "processGroups": [], - "queueEntryPoint": false, - "queueEntryPointType": null, - "rules": [ - { - "annotations": [], - "className": "{{.className}}", - "enabled": true, - "fileName": "", - "matcher": "EQUALS", - "methodRules": [ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ { - "argumentTypes": [], - "methodName": "{{.methodName}}", - "returnType": "{{.returnType}}" + "annotations": [], + "className": "{{.className1}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": ["{{.methodArgs1}}"], + "methodName": "{{.methodName1}}", + "returnType": "{{.returnType1}}" + }] + }, + { + "annotations": [], + "className": "{{.className2}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": ["{{.methodArgs2}}"], + "methodName": "{{.methodName2}}", + "returnType": "{{.returnType2}}" + } + ] } - ] - } - ] + ] } \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tsrd/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_tsrd/custom-service-java/custom-service-java.yaml index 25f8a028..1c902f69 100644 --- a/BMW-Dynatrace-config/CD_VDLM_tsrd/custom-service-java/custom-service-java.yaml +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/custom-service-java/custom-service-java.yaml @@ -1,9 +1,43 @@ config: -- customService1: template-1-1.json +- customService1: template-2-1.json +- customService2: template-1-1.json +- customService3: template-1-1.json +- customService4: template-2-1.json customService1: -- name: myJOYNRService -- className: com.bmw.cc.conn.this.is.just.an.exampleClasss -- methodName: exampleJoynrMethod +- name: "ifs-006 (JOYNR) enable/disableFullDiagnosticsMode - OUT" +- className1: com.bmw.cc.ts.tsrd.bm.remotediagnosis.control.VehicleDiagnosticsJoynrBA +- methodName1: enableFullDiagnosticsMode +- methodArgs1: joynr.de.bmw.infotainment.telematic.common.CommonTypes.RequestId +- returnType1: void +- className2: com.bmw.cc.ts.tsrd.bm.remotediagnosis.control.VehicleDiagnosticsJoynrBA +- methodName2: disableFullDiagnosticsMode +- methodArgs2: joynr.de.bmw.infotainment.telematic.common.CommonTypes.RequestId +- returnType2: void +- skipDeployment: "false" + +customService2: +- name: "(MQS) CallTopic - OUT" +- className: com.bmw.cc.ts.tsrd.bm.jms.calltopic.boundary.CallTopicJmsPublisherBA +- methodName: publishCallToCallTopic +- methodArgs: com.bmw.cc.ts.tsrd.bm.jms.calltopic.entity.CallStorageCallDO - returnType: void -- skipDeployment: "true" \ No newline at end of file + +customService3: +- name: "ifs-007 (SQS) odfUpdateStatus - IN" +- className: com.bmw.cc.ts.tsrd.bm.odfupdatestatus.boundary.OdfUpdateStatusSqsMF +- methodName: processMessage +- methodArgs: software.amazon.awssdk.services.sqs.model.Message +- returnType: void + +customService4: +- name: "(Timer) deletion/timeout" +- className1: com.bmw.cc.ts.tsrd.bm.timer.DatabaseCleanerTimerService +- methodName1: timeout +- methodArgs1: javax.ejb.Timer +- returnType1: void +- className2: com.bmw.cc.ts.tsrd.bm.timer.RDTimeoutTimer +- methodName2: timeout +- methodArgs2: javax.ejb.Timer +- returnType2: void +- skipDeployment: "false" diff --git a/BMW-Dynatrace-config/CD_VDLM_tsrd/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_tsrd/custom-service-java/template-1-1.json index b3003515..ebe95097 100644 --- a/BMW-Dynatrace-config/CD_VDLM_tsrd/custom-service-java/template-1-1.json +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/custom-service-java/template-1-1.json @@ -13,7 +13,7 @@ "matcher": "EQUALS", "methodRules": [ { - "argumentTypes": [], + "argumentTypes": ["{{.methodArgs}}"], "methodName": "{{.methodName}}", "returnType": "{{.returnType}}" } diff --git a/BMW-Dynatrace-config/CD_VDLM_tsrd/custom-service-java/template-2-1.json b/BMW-Dynatrace-config/CD_VDLM_tsrd/custom-service-java/template-2-1.json new file mode 100644 index 00000000..f0077b0c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/custom-service-java/template-2-1.json @@ -0,0 +1,36 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className1}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": ["{{.methodArgs1}}"], + "methodName": "{{.methodName1}}", + "returnType": "{{.returnType1}}" + }] + }, + { + "annotations": [], + "className": "{{.className2}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": ["{{.methodArgs2}}"], + "methodName": "{{.methodName2}}", + "returnType": "{{.returnType2}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_wlmanager/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..efe7189f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/alerting-profile/alerting-profile.yaml @@ -0,0 +1,37 @@ +config: +- CDnewComponentTag: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-Prod: +- name: CD_VDLM_wlmanager PROD +- mzId: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_wlmanager PROD +- mzId: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_wlmanager PROD +- mzId: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_wlmanager INT +- mzId: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_wlmanager INT +- mzId: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_wlmanager INT +- mzId: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_wlmanager/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/alerting-profile/default.json @@ -0,0 +1,78 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_wlmanager/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_wlmanager/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_wlmanager/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,7 @@ +config: +- CDnewComponentTag: template.json + +CDnewComponentTag: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_wlmanager/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_wlmanager/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_wlmanager/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,7 @@ +config: +- CDnewComponentTag: template.json + +CDnewComponentTag: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_wlmanager/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_wlmanager/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_wlmanager/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..a58fde35 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/custom-service-java/custom-service-java.yaml @@ -0,0 +1,10 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- methodArgs: java.lang.Byte[],java.lang.String +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_wlmanager/custom-service-java/template-1-1.json new file mode 100644 index 00000000..ebe95097 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": ["{{.methodArgs}}"], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_wlmanager/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_wlmanager/dashboard/dashboard.yaml new file mode 100644 index 00000000..66d796e6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/dashboard/dashboard.yaml @@ -0,0 +1,109 @@ +config: +- CDnewComponentTag-PROD: default.json +- CDnewComponentTag-E2E: default.json +- CDnewComponentTag-INT: default.json +- CDnewComponentTag-TEST: default.json + +#PROD dashboards for EMEA/NA/CN Prod +CDnewComponentTag-PROD: +- name: CD_VDLM_wlmanager PROD +- mzName: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_wlmanager PROD +- mzName: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_wlmanager PROD +- mzName: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_wlmanager PROD +- mzName: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_wlmanager E2E +- mzName: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_wlmanager E2E +- mzName: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_wlmanager E2E +- mzName: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_wlmanager E2E +- mzName: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_wlmanager INT +- mzName: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_wlmanager INT +- mzName: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_wlmanager INT +- mzName: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_wlmanager INT +- mzName: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_wlmanager TEST +- mzName: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_wlmanager TEST +- mzName: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_wlmanager TEST +- mzName: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_wlmanager TEST +- mzName: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_wlmanager/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/dashboard/default.json @@ -0,0 +1,334 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.mzName}}" + ], + "preset": true + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_wlmanager/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/management-zone/README.md @@ -0,0 +1,4 @@ + +### How to configure management zones? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_wlmanager/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/management-zone/default.json @@ -0,0 +1,23 @@ +{ + "dimensionalRules": [], + "name": "{{.name}}", + "entitySelectorBasedRules": [ + { + "enabled": true, + "entitySelector": "type(Service),tag({{.compassIDs}})" + }, + { + "enabled": true, + "entitySelector": "type(SERVICE),databaseName.exists(),toRelationship.calls(type(SERVICE),tag({{.compassIDs}}))" + }, + { + "enabled": true, + "entitySelector": "type(PROCESS_GROUP_INSTANCE),tag({{.compassIDs}})" + }, + { + "enabled": true, + "entitySelector": "type(HOST),tag({{.compassIDs}})" + } + ], + "rules": [] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_wlmanager/management-zone/management-zone.yaml new file mode 100644 index 00000000..3c5d1faa --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_wlmanager +- compassIDs: \"compass-id:wlmanager\" diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_wlmanager/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_wlmanager/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_wlmanager/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_wlmanager/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_wlmanager/notification/notification.yaml new file mode 100644 index 00000000..260f15f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDnewComponentTag: msTeams.json +- CDnewComponentTagITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDnewComponentTag.EMEA-Prod: +- name: CD_VDLM_wlmanager PROD +- alertingProfile: CD_VDLM_wlmanager/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_wlmanager PROD +- alertingProfile: CD_VDLM_wlmanager/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_wlmanager PROD +- alertingProfile: CD_VDLM_wlmanager/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_wlmanager INT +- alertingProfile: CD_VDLM_wlmanager/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_wlmanager INT +- alertingProfile: CD_VDLM_wlmanager/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_wlmanager INT +- alertingProfile: CD_VDLM_wlmanager/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_wlmanager ITSM PROD +- alertingProfile: CD_VDLM_wlmanager/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_wlmanager ITSM PROD +- alertingProfile: CD_VDLM_wlmanager/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_wlmanager ITSM PROD +- alertingProfile: CD_VDLM_wlmanager/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_wlmanager ITSM INT +- alertingProfile: CD_VDLM_wlmanager/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_wlmanager ITSM INT +- alertingProfile: CD_VDLM_wlmanager/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_wlmanager ITSM INT +- alertingProfile: CD_VDLM_wlmanager/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_wlmanager/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_wlmanager/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlmanager/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_wlmanager/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..553a6097 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlmanager/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_wlmanager - +- mzName: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlmanager/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_wlupdater/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..4110bd9d --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/alerting-profile/alerting-profile.yaml @@ -0,0 +1,37 @@ +config: +- CDnewComponentTag: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-Prod: +- name: CD_VDLM_wlupdater PROD +- mzId: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_wlupdater PROD +- mzId: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_wlupdater PROD +- mzId: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_wlupdater INT +- mzId: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_wlupdater INT +- mzId: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_wlupdater INT +- mzId: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_wlupdater/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/alerting-profile/default.json @@ -0,0 +1,78 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_wlupdater/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_wlupdater/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_wlupdater/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,7 @@ +config: +- CDnewComponentTag: template.json + +CDnewComponentTag: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_wlupdater/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_wlupdater/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_wlupdater/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,7 @@ +config: +- CDnewComponentTag: template.json + +CDnewComponentTag: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_wlupdater/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_wlupdater/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_wlupdater/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..4c9105a6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/custom-service-java/custom-service-java.yaml @@ -0,0 +1,44 @@ +config: +- customService1: template-1-1.json +- customService2: template-1-1.json +- customService3: template-1-2.json + +customService1: +- name: "ifs-003 (JOYNR) triggerWhitelistUpdate/notifyWhitelistStatus - IN/OUT" +- className1: com.bmw.cc.ts.wlupdater.bm.control.WhitelistUpdateTriggerBA +- methodName1: triggerWhitelistUpdate +- methodArgs1: com.bmw.cc.ts.wlupdater.bm.entity.persistent.WLData,long +- returnType1: void +- className2: com.bmw.cc.ts.wlupdater.bm.boundary.WhitelistUpdaterBF +- methodName2: notifyWhitelistStatus +- methodArgs2: com.bmw.cc.ts.wlupdater.joynr.consumer.entity.NotifyWhitelistStatusVehicleResponse +- returnType2: void +- skipDeployment: "false" + +customService2: +- name: "ifs-003 (JOYNR) triggerStandardOdfUpdate/notifyOdfStatus - IN/OUT" +- className1: com.bmw.cc.ts.wlupdater.bm.control.WhitelistUpdateTriggerBA +- methodName1: triggerWhitelistUpdate +- methodArgs1: com.bmw.cc.ts.wlupdater.bm.entity.persistent.WLData,long +- returnType1: void +- className2: com.bmw.cc.ts.wlupdater.joynr.consumer.boundary.OdfVehicle2BackendService +- methodName2: notifyOdfStatus +- methodArgs2: joynr.de.bmw.infotainment.telematic.common.CommonTypes.RequestId,joynr.de.bmw.infotainment.telematic.teleservice.TeleserviceTypes.VehicleInfo,joynr.de.bmw.infotainment.telematic.teleservice.TeleserviceTypes.AppInfo,java.lang.String,java.lang.String,joynr.de.bmw.infotainment.telematic.common.CommonTypes.ResultCode +- returnType2: void +- skipDeployment: "false" + +customService3: +- name: "ifs-003 (JOYNR) start/stop/notifyTemporaryOdfStatus - INT/OUT" +- className1: com.bmw.cc.ts.wlupdater.joynr.consumer.boundary.WLUpdaterV1Consumer +- methodName1: startTemporaryOdfSession +- methodArgs1: joynr.de.bmw.infotainment.telematic.common.CommonTypes.RequestId,java.lang.String,joynr.de.bmw.infotainment.telematic.teleservice.TeleserviceTypes.TemporaryOdfSignature,java.lang.String,java.lang.String +- returnType1: boolean +- className2: com.bmw.cc.ts.wlupdater.joynr.consumer.boundary.WLUpdaterV1Consumer +- methodName2: stopTemporaryOdfSession +- methodArgs2: joynr.de.bmw.infotainment.telematic.common.CommonTypes.RequestId,java.lang.String +- returnType2: Boolean +- className3: com.bmw.cc.ts.wlupdater.bm.boundary.WhitelistUpdaterBF +- methodName3: notifyTemporaryOdfStatus +- methodArgs3: com.bmw.cc.ts.wlupdater.joynr.consumer.entity.TemporaryOdfStatus +- returnType3: void +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_wlupdater/custom-service-java/template-1-1.json new file mode 100644 index 00000000..f0077b0c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/custom-service-java/template-1-1.json @@ -0,0 +1,36 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className1}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": ["{{.methodArgs1}}"], + "methodName": "{{.methodName1}}", + "returnType": "{{.returnType1}}" + }] + }, + { + "annotations": [], + "className": "{{.className2}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": ["{{.methodArgs2}}"], + "methodName": "{{.methodName2}}", + "returnType": "{{.returnType2}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/custom-service-java/template-1-2.json b/BMW-Dynatrace-config/CD_VDLM_wlupdater/custom-service-java/template-1-2.json new file mode 100644 index 00000000..60a0404c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/custom-service-java/template-1-2.json @@ -0,0 +1,50 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className1}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": ["{{.methodArgs1}}"], + "methodName": "{{.methodName1}}", + "returnType": "{{.returnType1}}" + }] + }, + { + "annotations": [], + "className": "{{.className2}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": ["{{.methodArgs2}}"], + "methodName": "{{.methodName2}}", + "returnType": "{{.returnType2}}" + } + ] + }, + { + "annotations": [], + "className": "{{.className3}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": ["{{.methodArgs3}}"], + "methodName": "{{.methodName3}}", + "returnType": "{{.returnType3}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_wlupdater/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_wlupdater/dashboard/dashboard.yaml new file mode 100644 index 00000000..5c75bd16 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/dashboard/dashboard.yaml @@ -0,0 +1,109 @@ +config: +- CDnewComponentTag-PROD: default.json +- CDnewComponentTag-E2E: default.json +- CDnewComponentTag-INT: default.json +- CDnewComponentTag-TEST: default.json + +#PROD dashboards for EMEA/NA/CN Prod +CDnewComponentTag-PROD: +- name: CD_VDLM_wlupdater PROD +- mzName: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_wlupdater PROD +- mzName: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_wlupdater PROD +- mzName: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_wlupdater PROD +- mzName: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_wlupdater E2E +- mzName: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_wlupdater E2E +- mzName: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_wlupdater E2E +- mzName: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_wlupdater E2E +- mzName: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_wlupdater INT +- mzName: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_wlupdater INT +- mzName: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_wlupdater INT +- mzName: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_wlupdater INT +- mzName: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_wlupdater TEST +- mzName: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_wlupdater TEST +- mzName: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_wlupdater TEST +- mzName: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_wlupdater TEST +- mzName: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_wlupdater/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/dashboard/default.json @@ -0,0 +1,334 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.mzName}}" + ], + "preset": true + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_wlupdater/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/management-zone/README.md @@ -0,0 +1,4 @@ + +### How to configure management zones? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_wlupdater/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/management-zone/default.json @@ -0,0 +1,23 @@ +{ + "dimensionalRules": [], + "name": "{{.name}}", + "entitySelectorBasedRules": [ + { + "enabled": true, + "entitySelector": "type(Service),tag({{.compassIDs}})" + }, + { + "enabled": true, + "entitySelector": "type(SERVICE),databaseName.exists(),toRelationship.calls(type(SERVICE),tag({{.compassIDs}}))" + }, + { + "enabled": true, + "entitySelector": "type(PROCESS_GROUP_INSTANCE),tag({{.compassIDs}})" + }, + { + "enabled": true, + "entitySelector": "type(HOST),tag({{.compassIDs}})" + } + ], + "rules": [] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_wlupdater/management-zone/management-zone.yaml new file mode 100644 index 00000000..91d84b53 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_wlupdater +- compassIDs: \"compass-id:wlupdater\" diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_wlupdater/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_wlupdater/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_wlupdater/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_wlupdater/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_wlupdater/notification/notification.yaml new file mode 100644 index 00000000..aad49de1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDnewComponentTag: msTeams.json +- CDnewComponentTagITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDnewComponentTag.EMEA-Prod: +- name: CD_VDLM_wlupdater PROD +- alertingProfile: CD_VDLM_wlupdater/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_wlupdater PROD +- alertingProfile: CD_VDLM_wlupdater/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_wlupdater PROD +- alertingProfile: CD_VDLM_wlupdater/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_wlupdater INT +- alertingProfile: CD_VDLM_wlupdater/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_wlupdater INT +- alertingProfile: CD_VDLM_wlupdater/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_wlupdater INT +- alertingProfile: CD_VDLM_wlupdater/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_wlupdater ITSM PROD +- alertingProfile: CD_VDLM_wlupdater/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_wlupdater ITSM PROD +- alertingProfile: CD_VDLM_wlupdater/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_wlupdater ITSM PROD +- alertingProfile: CD_VDLM_wlupdater/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_wlupdater ITSM INT +- alertingProfile: CD_VDLM_wlupdater/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_wlupdater ITSM INT +- alertingProfile: CD_VDLM_wlupdater/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_wlupdater ITSM INT +- alertingProfile: CD_VDLM_wlupdater/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_wlupdater/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_wlupdater/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_wlupdater/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_wlupdater/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..ad731f37 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_wlupdater/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_wlupdater - +- mzName: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_wlupdater/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file