diff --git a/BMW-Dynatrace-config/CD_VDLM_diagservice/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_diagservice/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..0540faab --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/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_diagservice PROD +- mzId: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_diagservice PROD +- mzId: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_diagservice PROD +- mzId: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_diagservice INT +- mzId: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_diagservice INT +- mzId: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_diagservice INT +- mzId: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_diagservice/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_diagservice/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/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_diagservice/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_diagservice/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/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_diagservice/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_diagservice/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/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_diagservice/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_diagservice/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/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_diagservice/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_diagservice/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/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_diagservice/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_diagservice/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/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_diagservice/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_diagservice/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/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_diagservice/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_diagservice/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/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_diagservice/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_diagservice/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/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_diagservice/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_diagservice/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_diagservice/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_diagservice/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_diagservice/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_diagservice/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/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_diagservice/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_diagservice/dashboard/dashboard.yaml new file mode 100644 index 00000000..8aa9f220 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/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_diagservice PROD +- mzName: CD_VDLM_diagservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_diagservice PROD +- mzName: CD_VDLM_diagservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_diagservice PROD +- mzName: CD_VDLM_diagservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_diagservice PROD +- mzName: CD_VDLM_diagservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_diagservice E2E +- mzName: CD_VDLM_diagservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_diagservice E2E +- mzName: CD_VDLM_diagservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_diagservice E2E +- mzName: CD_VDLM_diagservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_diagservice E2E +- mzName: CD_VDLM_diagservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_diagservice INT +- mzName: CD_VDLM_diagservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_diagservice INT +- mzName: CD_VDLM_diagservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_diagservice INT +- mzName: CD_VDLM_diagservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_diagservice INT +- mzName: CD_VDLM_diagservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_diagservice TEST +- mzName: CD_VDLM_diagservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_diagservice TEST +- mzName: CD_VDLM_diagservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_diagservice TEST +- mzName: CD_VDLM_diagservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_diagservice TEST +- mzName: CD_VDLM_diagservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_diagservice/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_diagservice/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/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_diagservice/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_diagservice/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/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_diagservice/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_diagservice/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/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_diagservice/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_diagservice/management-zone/management-zone.yaml new file mode 100644 index 00000000..ead26b4d --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_diagservice +- compassIDs: \"compass-id:diagservice\" diff --git a/BMW-Dynatrace-config/CD_VDLM_diagservice/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_diagservice/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/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_diagservice/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_diagservice/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/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_diagservice/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_diagservice/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/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_diagservice/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_diagservice/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/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_diagservice/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_diagservice/notification/notification.yaml new file mode 100644 index 00000000..ad15fb77 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/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_diagservice PROD +- alertingProfile: CD_VDLM_diagservice/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_diagservice PROD +- alertingProfile: CD_VDLM_diagservice/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_diagservice PROD +- alertingProfile: CD_VDLM_diagservice/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_diagservice INT +- alertingProfile: CD_VDLM_diagservice/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_diagservice INT +- alertingProfile: CD_VDLM_diagservice/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_diagservice INT +- alertingProfile: CD_VDLM_diagservice/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_diagservice ITSM PROD +- alertingProfile: CD_VDLM_diagservice/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_diagservice ITSM PROD +- alertingProfile: CD_VDLM_diagservice/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_diagservice ITSM PROD +- alertingProfile: CD_VDLM_diagservice/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_diagservice ITSM INT +- alertingProfile: CD_VDLM_diagservice/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_diagservice ITSM INT +- alertingProfile: CD_VDLM_diagservice/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_diagservice ITSM INT +- alertingProfile: CD_VDLM_diagservice/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_diagservice/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_diagservice/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/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_diagservice/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_diagservice/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/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_diagservice/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_diagservice/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..d8bb0d8b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_diagservice/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_diagservice - +- mzName: CD_VDLM_diagservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_diagservice/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_patchcampaign/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..8d6ce1f9 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/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_patchcampaign PROD +- mzId: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_patchcampaign PROD +- mzId: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_patchcampaign PROD +- mzId: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_patchcampaign INT +- mzId: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_patchcampaign INT +- mzId: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_patchcampaign INT +- mzId: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_patchcampaign/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/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_patchcampaign/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/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_patchcampaign/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/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_patchcampaign/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/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_patchcampaign/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/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_patchcampaign/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/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_patchcampaign/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/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_patchcampaign/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/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_patchcampaign/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/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_patchcampaign/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_patchcampaign/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_patchcampaign/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/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_patchcampaign/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/dashboard/dashboard.yaml new file mode 100644 index 00000000..77578697 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/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_patchcampaign PROD +- mzName: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_patchcampaign PROD +- mzName: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_patchcampaign PROD +- mzName: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_patchcampaign PROD +- mzName: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_patchcampaign E2E +- mzName: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_patchcampaign E2E +- mzName: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_patchcampaign E2E +- mzName: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_patchcampaign E2E +- mzName: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_patchcampaign INT +- mzName: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_patchcampaign INT +- mzName: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_patchcampaign INT +- mzName: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_patchcampaign INT +- mzName: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_patchcampaign TEST +- mzName: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_patchcampaign TEST +- mzName: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_patchcampaign TEST +- mzName: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_patchcampaign TEST +- mzName: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_patchcampaign/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/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_patchcampaign/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/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_patchcampaign/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/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_patchcampaign/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/management-zone/management-zone.yaml new file mode 100644 index 00000000..4e59a432 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_patchcampaign +- compassIDs: \"compass-id:patchcampaign\" diff --git a/BMW-Dynatrace-config/CD_VDLM_patchcampaign/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/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_patchcampaign/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/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_patchcampaign/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/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_patchcampaign/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/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_patchcampaign/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/notification/notification.yaml new file mode 100644 index 00000000..dec9864a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/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_patchcampaign PROD +- alertingProfile: CD_VDLM_patchcampaign/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_patchcampaign PROD +- alertingProfile: CD_VDLM_patchcampaign/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_patchcampaign PROD +- alertingProfile: CD_VDLM_patchcampaign/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_patchcampaign INT +- alertingProfile: CD_VDLM_patchcampaign/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_patchcampaign INT +- alertingProfile: CD_VDLM_patchcampaign/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_patchcampaign INT +- alertingProfile: CD_VDLM_patchcampaign/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_patchcampaign ITSM PROD +- alertingProfile: CD_VDLM_patchcampaign/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_patchcampaign ITSM PROD +- alertingProfile: CD_VDLM_patchcampaign/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_patchcampaign ITSM PROD +- alertingProfile: CD_VDLM_patchcampaign/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_patchcampaign ITSM INT +- alertingProfile: CD_VDLM_patchcampaign/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_patchcampaign ITSM INT +- alertingProfile: CD_VDLM_patchcampaign/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_patchcampaign ITSM INT +- alertingProfile: CD_VDLM_patchcampaign/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_patchcampaign/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/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_patchcampaign/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/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_patchcampaign/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..b364eecf --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_patchcampaign/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_patchcampaign - +- mzName: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_patchcampaign/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmupdater/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..756b409a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/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_pdmupdater PROD +- mzId: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_pdmupdater PROD +- mzId: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_pdmupdater PROD +- mzId: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_pdmupdater INT +- mzId: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_pdmupdater INT +- mzId: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_pdmupdater INT +- mzId: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmupdater/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/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_pdmupdater/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/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_pdmupdater/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/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_pdmupdater/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/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_pdmupdater/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/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_pdmupdater/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/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_pdmupdater/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/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_pdmupdater/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/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_pdmupdater/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/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_pdmupdater/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmupdater/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmupdater/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/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_pdmupdater/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/dashboard/dashboard.yaml new file mode 100644 index 00000000..63914475 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/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_pdmupdater PROD +- mzName: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_pdmupdater PROD +- mzName: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_pdmupdater PROD +- mzName: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_pdmupdater PROD +- mzName: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_pdmupdater E2E +- mzName: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_pdmupdater E2E +- mzName: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_pdmupdater E2E +- mzName: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_pdmupdater E2E +- mzName: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_pdmupdater INT +- mzName: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_pdmupdater INT +- mzName: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_pdmupdater INT +- mzName: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_pdmupdater INT +- mzName: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_pdmupdater TEST +- mzName: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_pdmupdater TEST +- mzName: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_pdmupdater TEST +- mzName: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_pdmupdater TEST +- mzName: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmupdater/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/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_pdmupdater/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/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_pdmupdater/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/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_pdmupdater/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/management-zone/management-zone.yaml new file mode 100644 index 00000000..1d3c6147 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_pdmupdater +- compassIDs: \"compass-id:pdmupdater\" diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmupdater/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/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_pdmupdater/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/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_pdmupdater/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/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_pdmupdater/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/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_pdmupdater/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/notification/notification.yaml new file mode 100644 index 00000000..fcde1200 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/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_pdmupdater PROD +- alertingProfile: CD_VDLM_pdmupdater/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_pdmupdater PROD +- alertingProfile: CD_VDLM_pdmupdater/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_pdmupdater PROD +- alertingProfile: CD_VDLM_pdmupdater/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_pdmupdater INT +- alertingProfile: CD_VDLM_pdmupdater/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_pdmupdater INT +- alertingProfile: CD_VDLM_pdmupdater/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_pdmupdater INT +- alertingProfile: CD_VDLM_pdmupdater/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_pdmupdater ITSM PROD +- alertingProfile: CD_VDLM_pdmupdater/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_pdmupdater ITSM PROD +- alertingProfile: CD_VDLM_pdmupdater/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_pdmupdater ITSM PROD +- alertingProfile: CD_VDLM_pdmupdater/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_pdmupdater ITSM INT +- alertingProfile: CD_VDLM_pdmupdater/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_pdmupdater ITSM INT +- alertingProfile: CD_VDLM_pdmupdater/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_pdmupdater ITSM INT +- alertingProfile: CD_VDLM_pdmupdater/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_pdmupdater/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/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_pdmupdater/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/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_pdmupdater/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..da493fbe --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_pdmupdater/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_pdmupdater - +- mzName: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_pdmupdater/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_rsurservice/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_rsurservice/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..aa7b9a87 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/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_rsurservice PROD +- mzId: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_rsurservice PROD +- mzId: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_rsurservice PROD +- mzId: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_rsurservice INT +- mzId: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_rsurservice INT +- mzId: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_rsurservice INT +- mzId: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_rsurservice/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_rsurservice/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/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_rsurservice/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_rsurservice/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/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_rsurservice/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_rsurservice/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/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_rsurservice/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_rsurservice/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/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_rsurservice/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_rsurservice/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/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_rsurservice/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_rsurservice/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/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_rsurservice/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_rsurservice/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/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_rsurservice/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_rsurservice/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/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_rsurservice/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_rsurservice/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/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_rsurservice/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_rsurservice/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_rsurservice/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_rsurservice/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_rsurservice/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_rsurservice/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/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_rsurservice/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_rsurservice/dashboard/dashboard.yaml new file mode 100644 index 00000000..7015a46d --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/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_rsurservice PROD +- mzName: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_rsurservice PROD +- mzName: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_rsurservice PROD +- mzName: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_rsurservice PROD +- mzName: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_rsurservice E2E +- mzName: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_rsurservice E2E +- mzName: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_rsurservice E2E +- mzName: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_rsurservice E2E +- mzName: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_rsurservice INT +- mzName: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_rsurservice INT +- mzName: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_rsurservice INT +- mzName: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_rsurservice INT +- mzName: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_rsurservice TEST +- mzName: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_rsurservice TEST +- mzName: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_rsurservice TEST +- mzName: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_rsurservice TEST +- mzName: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_rsurservice/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_rsurservice/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/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_rsurservice/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_rsurservice/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/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_rsurservice/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_rsurservice/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/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_rsurservice/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_rsurservice/management-zone/management-zone.yaml new file mode 100644 index 00000000..524dd137 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_rsurservice +- compassIDs: \"compass-id:rsurservice\" diff --git a/BMW-Dynatrace-config/CD_VDLM_rsurservice/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_rsurservice/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/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_rsurservice/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_rsurservice/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/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_rsurservice/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_rsurservice/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/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_rsurservice/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_rsurservice/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/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_rsurservice/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_rsurservice/notification/notification.yaml new file mode 100644 index 00000000..cd482e65 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/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_rsurservice PROD +- alertingProfile: CD_VDLM_rsurservice/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_rsurservice PROD +- alertingProfile: CD_VDLM_rsurservice/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_rsurservice PROD +- alertingProfile: CD_VDLM_rsurservice/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_rsurservice INT +- alertingProfile: CD_VDLM_rsurservice/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_rsurservice INT +- alertingProfile: CD_VDLM_rsurservice/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_rsurservice INT +- alertingProfile: CD_VDLM_rsurservice/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_rsurservice ITSM PROD +- alertingProfile: CD_VDLM_rsurservice/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_rsurservice ITSM PROD +- alertingProfile: CD_VDLM_rsurservice/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_rsurservice ITSM PROD +- alertingProfile: CD_VDLM_rsurservice/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_rsurservice ITSM INT +- alertingProfile: CD_VDLM_rsurservice/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_rsurservice ITSM INT +- alertingProfile: CD_VDLM_rsurservice/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_rsurservice ITSM INT +- alertingProfile: CD_VDLM_rsurservice/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_rsurservice/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_rsurservice/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/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_rsurservice/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_rsurservice/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/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_rsurservice/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_rsurservice/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..62be0521 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rsurservice/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_rsurservice - +- mzName: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rsurservice/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_rtcad/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_rtcad/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..2e3ba03f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/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_rtcad PROD +- mzId: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_rtcad PROD +- mzId: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_rtcad PROD +- mzId: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_rtcad INT +- mzId: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_rtcad INT +- mzId: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_rtcad INT +- mzId: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_rtcad/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_rtcad/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/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_rtcad/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_rtcad/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/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_rtcad/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_rtcad/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/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_rtcad/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_rtcad/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/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_rtcad/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_rtcad/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/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_rtcad/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_rtcad/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/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_rtcad/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_rtcad/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/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_rtcad/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_rtcad/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/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_rtcad/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_rtcad/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/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_rtcad/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_rtcad/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_rtcad/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_rtcad/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_rtcad/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_rtcad/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/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_rtcad/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_rtcad/dashboard/dashboard.yaml new file mode 100644 index 00000000..839cb3ce --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/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_rtcad PROD +- mzName: CD_VDLM_rtcad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_rtcad PROD +- mzName: CD_VDLM_rtcad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_rtcad PROD +- mzName: CD_VDLM_rtcad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_rtcad PROD +- mzName: CD_VDLM_rtcad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_rtcad E2E +- mzName: CD_VDLM_rtcad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_rtcad E2E +- mzName: CD_VDLM_rtcad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_rtcad E2E +- mzName: CD_VDLM_rtcad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_rtcad E2E +- mzName: CD_VDLM_rtcad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_rtcad INT +- mzName: CD_VDLM_rtcad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_rtcad INT +- mzName: CD_VDLM_rtcad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_rtcad INT +- mzName: CD_VDLM_rtcad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_rtcad INT +- mzName: CD_VDLM_rtcad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_rtcad TEST +- mzName: CD_VDLM_rtcad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_rtcad TEST +- mzName: CD_VDLM_rtcad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_rtcad TEST +- mzName: CD_VDLM_rtcad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_rtcad TEST +- mzName: CD_VDLM_rtcad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_rtcad/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_rtcad/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/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_rtcad/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_rtcad/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/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_rtcad/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_rtcad/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/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_rtcad/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_rtcad/management-zone/management-zone.yaml new file mode 100644 index 00000000..0d17aae5 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_rtcad +- compassIDs: \"compass-id:rtcad\" diff --git a/BMW-Dynatrace-config/CD_VDLM_rtcad/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_rtcad/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/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_rtcad/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_rtcad/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/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_rtcad/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_rtcad/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/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_rtcad/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_rtcad/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/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_rtcad/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_rtcad/notification/notification.yaml new file mode 100644 index 00000000..3396c890 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/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_rtcad PROD +- alertingProfile: CD_VDLM_rtcad/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_rtcad PROD +- alertingProfile: CD_VDLM_rtcad/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_rtcad PROD +- alertingProfile: CD_VDLM_rtcad/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_rtcad INT +- alertingProfile: CD_VDLM_rtcad/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_rtcad INT +- alertingProfile: CD_VDLM_rtcad/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_rtcad INT +- alertingProfile: CD_VDLM_rtcad/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_rtcad ITSM PROD +- alertingProfile: CD_VDLM_rtcad/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_rtcad ITSM PROD +- alertingProfile: CD_VDLM_rtcad/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_rtcad ITSM PROD +- alertingProfile: CD_VDLM_rtcad/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_rtcad ITSM INT +- alertingProfile: CD_VDLM_rtcad/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_rtcad ITSM INT +- alertingProfile: CD_VDLM_rtcad/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_rtcad ITSM INT +- alertingProfile: CD_VDLM_rtcad/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_rtcad/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_rtcad/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/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_rtcad/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_rtcad/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/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_rtcad/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_rtcad/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..3a1bbd83 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcad/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_rtcad - +- mzName: CD_VDLM_rtcad/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcad/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_rtcservice/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_rtcservice/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..baedc0e7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/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_rtcservice PROD +- mzId: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_rtcservice PROD +- mzId: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_rtcservice PROD +- mzId: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_rtcservice INT +- mzId: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_rtcservice INT +- mzId: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_rtcservice INT +- mzId: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_rtcservice/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_rtcservice/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/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_rtcservice/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_rtcservice/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/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_rtcservice/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_rtcservice/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/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_rtcservice/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_rtcservice/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/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_rtcservice/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_rtcservice/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/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_rtcservice/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_rtcservice/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/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_rtcservice/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_rtcservice/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/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_rtcservice/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_rtcservice/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/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_rtcservice/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_rtcservice/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/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_rtcservice/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_rtcservice/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_rtcservice/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_rtcservice/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_rtcservice/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_rtcservice/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/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_rtcservice/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_rtcservice/dashboard/dashboard.yaml new file mode 100644 index 00000000..085637c3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/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_rtcservice PROD +- mzName: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_rtcservice PROD +- mzName: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_rtcservice PROD +- mzName: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_rtcservice PROD +- mzName: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_rtcservice E2E +- mzName: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_rtcservice E2E +- mzName: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_rtcservice E2E +- mzName: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_rtcservice E2E +- mzName: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_rtcservice INT +- mzName: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_rtcservice INT +- mzName: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_rtcservice INT +- mzName: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_rtcservice INT +- mzName: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_rtcservice TEST +- mzName: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_rtcservice TEST +- mzName: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_rtcservice TEST +- mzName: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_rtcservice TEST +- mzName: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_rtcservice/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_rtcservice/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/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_rtcservice/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_rtcservice/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/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_rtcservice/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_rtcservice/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/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_rtcservice/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_rtcservice/management-zone/management-zone.yaml new file mode 100644 index 00000000..0e0963d3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_rtcservice +- compassIDs: \"compass-id:rtcservice\" diff --git a/BMW-Dynatrace-config/CD_VDLM_rtcservice/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_rtcservice/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/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_rtcservice/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_rtcservice/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/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_rtcservice/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_rtcservice/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/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_rtcservice/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_rtcservice/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/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_rtcservice/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_rtcservice/notification/notification.yaml new file mode 100644 index 00000000..61ccdee4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/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_rtcservice PROD +- alertingProfile: CD_VDLM_rtcservice/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_rtcservice PROD +- alertingProfile: CD_VDLM_rtcservice/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_rtcservice PROD +- alertingProfile: CD_VDLM_rtcservice/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_rtcservice INT +- alertingProfile: CD_VDLM_rtcservice/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_rtcservice INT +- alertingProfile: CD_VDLM_rtcservice/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_rtcservice INT +- alertingProfile: CD_VDLM_rtcservice/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_rtcservice ITSM PROD +- alertingProfile: CD_VDLM_rtcservice/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_rtcservice ITSM PROD +- alertingProfile: CD_VDLM_rtcservice/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_rtcservice ITSM PROD +- alertingProfile: CD_VDLM_rtcservice/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_rtcservice ITSM INT +- alertingProfile: CD_VDLM_rtcservice/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_rtcservice ITSM INT +- alertingProfile: CD_VDLM_rtcservice/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_rtcservice ITSM INT +- alertingProfile: CD_VDLM_rtcservice/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_rtcservice/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_rtcservice/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/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_rtcservice/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_rtcservice/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/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_rtcservice/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_rtcservice/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..6c325f4a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_rtcservice/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_rtcservice - +- mzName: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_rtcservice/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..7065d7c3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/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_ts-base-ffs PROD +- mzId: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-base-ffs PROD +- mzId: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-base-ffs PROD +- mzId: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-base-ffs INT +- mzId: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-base-ffs INT +- mzId: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-base-ffs INT +- mzId: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/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_ts-base-ffs/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/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_ts-base-ffs/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/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_ts-base-ffs/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/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_ts-base-ffs/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/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_ts-base-ffs/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/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_ts-base-ffs/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/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_ts-base-ffs/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/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_ts-base-ffs/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/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_ts-base-ffs/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/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_ts-base-ffs/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/dashboard/dashboard.yaml new file mode 100644 index 00000000..d09e4043 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/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_ts-base-ffs PROD +- mzName: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_ts-base-ffs PROD +- mzName: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_ts-base-ffs PROD +- mzName: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_ts-base-ffs PROD +- mzName: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_ts-base-ffs E2E +- mzName: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_ts-base-ffs E2E +- mzName: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_ts-base-ffs E2E +- mzName: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_ts-base-ffs E2E +- mzName: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_ts-base-ffs INT +- mzName: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_ts-base-ffs INT +- mzName: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_ts-base-ffs INT +- mzName: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_ts-base-ffs INT +- mzName: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_ts-base-ffs TEST +- mzName: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_ts-base-ffs TEST +- mzName: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_ts-base-ffs TEST +- mzName: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_ts-base-ffs TEST +- mzName: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/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_ts-base-ffs/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/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_ts-base-ffs/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/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_ts-base-ffs/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/management-zone/management-zone.yaml new file mode 100644 index 00000000..664c98f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_ts-base-ffs +- compassIDs: \"compass-id:ts-base-ffs\" diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/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_ts-base-ffs/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/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_ts-base-ffs/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/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_ts-base-ffs/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/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_ts-base-ffs/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/notification/notification.yaml new file mode 100644 index 00000000..10274a6c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/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_ts-base-ffs PROD +- alertingProfile: CD_VDLM_ts-base-ffs/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-base-ffs PROD +- alertingProfile: CD_VDLM_ts-base-ffs/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-base-ffs PROD +- alertingProfile: CD_VDLM_ts-base-ffs/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-base-ffs INT +- alertingProfile: CD_VDLM_ts-base-ffs/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-base-ffs INT +- alertingProfile: CD_VDLM_ts-base-ffs/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-base-ffs INT +- alertingProfile: CD_VDLM_ts-base-ffs/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_ts-base-ffs ITSM PROD +- alertingProfile: CD_VDLM_ts-base-ffs/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_ts-base-ffs ITSM PROD +- alertingProfile: CD_VDLM_ts-base-ffs/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_ts-base-ffs ITSM PROD +- alertingProfile: CD_VDLM_ts-base-ffs/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_ts-base-ffs ITSM INT +- alertingProfile: CD_VDLM_ts-base-ffs/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_ts-base-ffs ITSM INT +- alertingProfile: CD_VDLM_ts-base-ffs/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_ts-base-ffs ITSM INT +- alertingProfile: CD_VDLM_ts-base-ffs/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/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_ts-base-ffs/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/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_ts-base-ffs/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..d5634229 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-base-ffs/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_ts-base-ffs - +- mzName: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-base-ffs/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..f2785a4e --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/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_ts-bcallhandler PROD +- mzId: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-bcallhandler PROD +- mzId: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-bcallhandler PROD +- mzId: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-bcallhandler INT +- mzId: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-bcallhandler INT +- mzId: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-bcallhandler INT +- mzId: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/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_ts-bcallhandler/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/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_ts-bcallhandler/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/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_ts-bcallhandler/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/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_ts-bcallhandler/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/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_ts-bcallhandler/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/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_ts-bcallhandler/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/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_ts-bcallhandler/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/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_ts-bcallhandler/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/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_ts-bcallhandler/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_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 new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/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_ts-bcallhandler/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/dashboard/dashboard.yaml new file mode 100644 index 00000000..2e1e29d6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/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_ts-bcallhandler PROD +- mzName: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_ts-bcallhandler PROD +- mzName: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_ts-bcallhandler PROD +- mzName: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_ts-bcallhandler PROD +- mzName: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_ts-bcallhandler E2E +- mzName: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_ts-bcallhandler E2E +- mzName: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_ts-bcallhandler E2E +- mzName: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_ts-bcallhandler E2E +- mzName: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_ts-bcallhandler INT +- mzName: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_ts-bcallhandler INT +- mzName: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_ts-bcallhandler INT +- mzName: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_ts-bcallhandler INT +- mzName: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_ts-bcallhandler TEST +- mzName: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_ts-bcallhandler TEST +- mzName: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_ts-bcallhandler TEST +- mzName: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_ts-bcallhandler TEST +- mzName: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/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_ts-bcallhandler/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/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_ts-bcallhandler/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/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_ts-bcallhandler/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/management-zone/management-zone.yaml new file mode 100644 index 00000000..c92ed5e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_ts-bcallhandler +- compassIDs: \"compass-id:ts-bcallhandler\" diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/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_ts-bcallhandler/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/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_ts-bcallhandler/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/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_ts-bcallhandler/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/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_ts-bcallhandler/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/notification/notification.yaml new file mode 100644 index 00000000..d71698dd --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/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_ts-bcallhandler PROD +- alertingProfile: CD_VDLM_ts-bcallhandler/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-bcallhandler PROD +- alertingProfile: CD_VDLM_ts-bcallhandler/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-bcallhandler PROD +- alertingProfile: CD_VDLM_ts-bcallhandler/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-bcallhandler INT +- alertingProfile: CD_VDLM_ts-bcallhandler/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-bcallhandler INT +- alertingProfile: CD_VDLM_ts-bcallhandler/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-bcallhandler INT +- alertingProfile: CD_VDLM_ts-bcallhandler/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_ts-bcallhandler ITSM PROD +- alertingProfile: CD_VDLM_ts-bcallhandler/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_ts-bcallhandler ITSM PROD +- alertingProfile: CD_VDLM_ts-bcallhandler/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_ts-bcallhandler ITSM PROD +- alertingProfile: CD_VDLM_ts-bcallhandler/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_ts-bcallhandler ITSM INT +- alertingProfile: CD_VDLM_ts-bcallhandler/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_ts-bcallhandler ITSM INT +- alertingProfile: CD_VDLM_ts-bcallhandler/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_ts-bcallhandler ITSM INT +- alertingProfile: CD_VDLM_ts-bcallhandler/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/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_ts-bcallhandler/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/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_ts-bcallhandler/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..3aa94661 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-bcallhandler/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_ts-bcallhandler - +- mzName: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-bcallhandler/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..7db2bf34 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/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_ts-ccm-di PROD +- mzId: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-ccm-di PROD +- mzId: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-ccm-di PROD +- mzId: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-ccm-di INT +- mzId: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-ccm-di INT +- mzId: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-ccm-di INT +- mzId: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/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_ts-ccm-di/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/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_ts-ccm-di/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/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_ts-ccm-di/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/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_ts-ccm-di/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/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_ts-ccm-di/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/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_ts-ccm-di/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/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_ts-ccm-di/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/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_ts-ccm-di/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/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_ts-ccm-di/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/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_ts-ccm-di/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/dashboard/dashboard.yaml new file mode 100644 index 00000000..3b44cb47 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/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_ts-ccm-di PROD +- mzName: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_ts-ccm-di PROD +- mzName: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_ts-ccm-di PROD +- mzName: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_ts-ccm-di PROD +- mzName: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_ts-ccm-di E2E +- mzName: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_ts-ccm-di E2E +- mzName: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_ts-ccm-di E2E +- mzName: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_ts-ccm-di E2E +- mzName: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_ts-ccm-di INT +- mzName: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_ts-ccm-di INT +- mzName: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_ts-ccm-di INT +- mzName: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_ts-ccm-di INT +- mzName: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_ts-ccm-di TEST +- mzName: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_ts-ccm-di TEST +- mzName: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_ts-ccm-di TEST +- mzName: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_ts-ccm-di TEST +- mzName: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/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_ts-ccm-di/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/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_ts-ccm-di/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/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_ts-ccm-di/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/management-zone/management-zone.yaml new file mode 100644 index 00000000..5938184e --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_ts-ccm-di +- compassIDs: \"compass-id:ts-ccm-di\" diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/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_ts-ccm-di/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/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_ts-ccm-di/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/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_ts-ccm-di/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/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_ts-ccm-di/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/notification/notification.yaml new file mode 100644 index 00000000..195dc046 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/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_ts-ccm-di PROD +- alertingProfile: CD_VDLM_ts-ccm-di/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-ccm-di PROD +- alertingProfile: CD_VDLM_ts-ccm-di/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-ccm-di PROD +- alertingProfile: CD_VDLM_ts-ccm-di/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-ccm-di INT +- alertingProfile: CD_VDLM_ts-ccm-di/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-ccm-di INT +- alertingProfile: CD_VDLM_ts-ccm-di/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-ccm-di INT +- alertingProfile: CD_VDLM_ts-ccm-di/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_ts-ccm-di ITSM PROD +- alertingProfile: CD_VDLM_ts-ccm-di/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_ts-ccm-di ITSM PROD +- alertingProfile: CD_VDLM_ts-ccm-di/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_ts-ccm-di ITSM PROD +- alertingProfile: CD_VDLM_ts-ccm-di/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_ts-ccm-di ITSM INT +- alertingProfile: CD_VDLM_ts-ccm-di/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_ts-ccm-di ITSM INT +- alertingProfile: CD_VDLM_ts-ccm-di/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_ts-ccm-di ITSM INT +- alertingProfile: CD_VDLM_ts-ccm-di/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/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_ts-ccm-di/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/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_ts-ccm-di/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..3bdd2c7b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ccm-di/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_ts-ccm-di - +- mzName: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ccm-di/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..92295ee2 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/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_ts-cts-ui PROD +- mzId: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-cts-ui PROD +- mzId: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-cts-ui PROD +- mzId: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-cts-ui INT +- mzId: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-cts-ui INT +- mzId: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-cts-ui INT +- mzId: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/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_ts-cts-ui/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/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_ts-cts-ui/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/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_ts-cts-ui/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/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_ts-cts-ui/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/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_ts-cts-ui/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/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_ts-cts-ui/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/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_ts-cts-ui/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/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_ts-cts-ui/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/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_ts-cts-ui/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/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_ts-cts-ui/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/dashboard/dashboard.yaml new file mode 100644 index 00000000..f8a2df63 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/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_ts-cts-ui PROD +- mzName: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_ts-cts-ui PROD +- mzName: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_ts-cts-ui PROD +- mzName: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_ts-cts-ui PROD +- mzName: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_ts-cts-ui E2E +- mzName: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_ts-cts-ui E2E +- mzName: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_ts-cts-ui E2E +- mzName: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_ts-cts-ui E2E +- mzName: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_ts-cts-ui INT +- mzName: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_ts-cts-ui INT +- mzName: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_ts-cts-ui INT +- mzName: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_ts-cts-ui INT +- mzName: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_ts-cts-ui TEST +- mzName: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_ts-cts-ui TEST +- mzName: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_ts-cts-ui TEST +- mzName: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_ts-cts-ui TEST +- mzName: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/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_ts-cts-ui/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/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_ts-cts-ui/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/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_ts-cts-ui/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/management-zone/management-zone.yaml new file mode 100644 index 00000000..6a28eaf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_ts-cts-ui +- compassIDs: \"compass-id:ts-cts-ui\" diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/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_ts-cts-ui/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/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_ts-cts-ui/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/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_ts-cts-ui/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/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_ts-cts-ui/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/notification/notification.yaml new file mode 100644 index 00000000..9f4b34a9 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/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_ts-cts-ui PROD +- alertingProfile: CD_VDLM_ts-cts-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-cts-ui PROD +- alertingProfile: CD_VDLM_ts-cts-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-cts-ui PROD +- alertingProfile: CD_VDLM_ts-cts-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-cts-ui INT +- alertingProfile: CD_VDLM_ts-cts-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-cts-ui INT +- alertingProfile: CD_VDLM_ts-cts-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-cts-ui INT +- alertingProfile: CD_VDLM_ts-cts-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_ts-cts-ui ITSM PROD +- alertingProfile: CD_VDLM_ts-cts-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_ts-cts-ui ITSM PROD +- alertingProfile: CD_VDLM_ts-cts-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_ts-cts-ui ITSM PROD +- alertingProfile: CD_VDLM_ts-cts-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_ts-cts-ui ITSM INT +- alertingProfile: CD_VDLM_ts-cts-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_ts-cts-ui ITSM INT +- alertingProfile: CD_VDLM_ts-cts-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_ts-cts-ui ITSM INT +- alertingProfile: CD_VDLM_ts-cts-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/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_ts-cts-ui/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/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_ts-cts-ui/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..afb78e84 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-cts-ui/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_ts-cts-ui - +- mzName: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-cts-ui/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..6fec4716 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/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_ts-customer-adapter PROD +- mzId: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-customer-adapter PROD +- mzId: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-customer-adapter PROD +- mzId: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-customer-adapter INT +- mzId: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-customer-adapter INT +- mzId: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-customer-adapter INT +- mzId: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/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_ts-customer-adapter/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/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_ts-customer-adapter/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/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_ts-customer-adapter/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/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_ts-customer-adapter/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/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_ts-customer-adapter/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/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_ts-customer-adapter/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/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_ts-customer-adapter/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/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_ts-customer-adapter/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/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_ts-customer-adapter/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/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_ts-customer-adapter/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/dashboard/dashboard.yaml new file mode 100644 index 00000000..570159fe --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/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_ts-customer-adapter PROD +- mzName: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_ts-customer-adapter PROD +- mzName: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_ts-customer-adapter PROD +- mzName: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_ts-customer-adapter PROD +- mzName: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_ts-customer-adapter E2E +- mzName: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_ts-customer-adapter E2E +- mzName: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_ts-customer-adapter E2E +- mzName: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_ts-customer-adapter E2E +- mzName: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_ts-customer-adapter INT +- mzName: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_ts-customer-adapter INT +- mzName: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_ts-customer-adapter INT +- mzName: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_ts-customer-adapter INT +- mzName: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_ts-customer-adapter TEST +- mzName: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_ts-customer-adapter TEST +- mzName: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_ts-customer-adapter TEST +- mzName: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_ts-customer-adapter TEST +- mzName: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/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_ts-customer-adapter/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/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_ts-customer-adapter/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/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_ts-customer-adapter/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/management-zone/management-zone.yaml new file mode 100644 index 00000000..f19612f2 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_ts-customer-adapter +- compassIDs: \"compass-id:ts-customer-adapter\" diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/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_ts-customer-adapter/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/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_ts-customer-adapter/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/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_ts-customer-adapter/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/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_ts-customer-adapter/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/notification/notification.yaml new file mode 100644 index 00000000..1b3aafa7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/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_ts-customer-adapter PROD +- alertingProfile: CD_VDLM_ts-customer-adapter/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-customer-adapter PROD +- alertingProfile: CD_VDLM_ts-customer-adapter/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-customer-adapter PROD +- alertingProfile: CD_VDLM_ts-customer-adapter/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-customer-adapter INT +- alertingProfile: CD_VDLM_ts-customer-adapter/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-customer-adapter INT +- alertingProfile: CD_VDLM_ts-customer-adapter/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-customer-adapter INT +- alertingProfile: CD_VDLM_ts-customer-adapter/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_ts-customer-adapter ITSM PROD +- alertingProfile: CD_VDLM_ts-customer-adapter/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_ts-customer-adapter ITSM PROD +- alertingProfile: CD_VDLM_ts-customer-adapter/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_ts-customer-adapter ITSM PROD +- alertingProfile: CD_VDLM_ts-customer-adapter/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_ts-customer-adapter ITSM INT +- alertingProfile: CD_VDLM_ts-customer-adapter/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_ts-customer-adapter ITSM INT +- alertingProfile: CD_VDLM_ts-customer-adapter/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_ts-customer-adapter ITSM INT +- alertingProfile: CD_VDLM_ts-customer-adapter/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/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_ts-customer-adapter/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/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_ts-customer-adapter/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..41d34d03 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-customer-adapter/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_ts-customer-adapter - +- mzName: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-customer-adapter/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..ed24044a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/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_ts-ena-ui PROD +- mzId: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-ena-ui PROD +- mzId: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-ena-ui PROD +- mzId: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-ena-ui INT +- mzId: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-ena-ui INT +- mzId: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-ena-ui INT +- mzId: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/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_ts-ena-ui/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/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_ts-ena-ui/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/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_ts-ena-ui/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/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_ts-ena-ui/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/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_ts-ena-ui/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/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_ts-ena-ui/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/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_ts-ena-ui/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/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_ts-ena-ui/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/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_ts-ena-ui/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/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_ts-ena-ui/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/dashboard/dashboard.yaml new file mode 100644 index 00000000..8524153d --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/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_ts-ena-ui PROD +- mzName: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_ts-ena-ui PROD +- mzName: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_ts-ena-ui PROD +- mzName: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_ts-ena-ui PROD +- mzName: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_ts-ena-ui E2E +- mzName: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_ts-ena-ui E2E +- mzName: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_ts-ena-ui E2E +- mzName: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_ts-ena-ui E2E +- mzName: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_ts-ena-ui INT +- mzName: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_ts-ena-ui INT +- mzName: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_ts-ena-ui INT +- mzName: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_ts-ena-ui INT +- mzName: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_ts-ena-ui TEST +- mzName: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_ts-ena-ui TEST +- mzName: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_ts-ena-ui TEST +- mzName: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_ts-ena-ui TEST +- mzName: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/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_ts-ena-ui/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/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_ts-ena-ui/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/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_ts-ena-ui/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/management-zone/management-zone.yaml new file mode 100644 index 00000000..1efbba96 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_ts-ena-ui +- compassIDs: \"compass-id:ts-ena-ui\" diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/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_ts-ena-ui/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/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_ts-ena-ui/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/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_ts-ena-ui/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/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_ts-ena-ui/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/notification/notification.yaml new file mode 100644 index 00000000..f78afcc8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/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_ts-ena-ui PROD +- alertingProfile: CD_VDLM_ts-ena-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-ena-ui PROD +- alertingProfile: CD_VDLM_ts-ena-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-ena-ui PROD +- alertingProfile: CD_VDLM_ts-ena-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-ena-ui INT +- alertingProfile: CD_VDLM_ts-ena-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-ena-ui INT +- alertingProfile: CD_VDLM_ts-ena-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-ena-ui INT +- alertingProfile: CD_VDLM_ts-ena-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_ts-ena-ui ITSM PROD +- alertingProfile: CD_VDLM_ts-ena-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_ts-ena-ui ITSM PROD +- alertingProfile: CD_VDLM_ts-ena-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_ts-ena-ui ITSM PROD +- alertingProfile: CD_VDLM_ts-ena-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_ts-ena-ui ITSM INT +- alertingProfile: CD_VDLM_ts-ena-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_ts-ena-ui ITSM INT +- alertingProfile: CD_VDLM_ts-ena-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_ts-ena-ui ITSM INT +- alertingProfile: CD_VDLM_ts-ena-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/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_ts-ena-ui/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/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_ts-ena-ui/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..a60d0a78 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-ena-ui/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_ts-ena-ui - +- mzName: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-ena-ui/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..012a9e3d --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/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_ts-lead-demand-api PROD +- mzId: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-lead-demand-api PROD +- mzId: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-lead-demand-api PROD +- mzId: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-lead-demand-api INT +- mzId: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-lead-demand-api INT +- mzId: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-lead-demand-api INT +- mzId: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/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_ts-lead-demand-api/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/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_ts-lead-demand-api/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/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_ts-lead-demand-api/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/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_ts-lead-demand-api/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/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_ts-lead-demand-api/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/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_ts-lead-demand-api/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/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_ts-lead-demand-api/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/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_ts-lead-demand-api/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/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_ts-lead-demand-api/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/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_ts-lead-demand-api/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/dashboard/dashboard.yaml new file mode 100644 index 00000000..494b26f2 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/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_ts-lead-demand-api PROD +- mzName: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_ts-lead-demand-api PROD +- mzName: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_ts-lead-demand-api PROD +- mzName: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_ts-lead-demand-api PROD +- mzName: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_ts-lead-demand-api E2E +- mzName: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_ts-lead-demand-api E2E +- mzName: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_ts-lead-demand-api E2E +- mzName: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_ts-lead-demand-api E2E +- mzName: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_ts-lead-demand-api INT +- mzName: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_ts-lead-demand-api INT +- mzName: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_ts-lead-demand-api INT +- mzName: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_ts-lead-demand-api INT +- mzName: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_ts-lead-demand-api TEST +- mzName: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_ts-lead-demand-api TEST +- mzName: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_ts-lead-demand-api TEST +- mzName: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_ts-lead-demand-api TEST +- mzName: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/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_ts-lead-demand-api/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/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_ts-lead-demand-api/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/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_ts-lead-demand-api/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/management-zone/management-zone.yaml new file mode 100644 index 00000000..a6fdd0e0 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_ts-lead-demand-api +- compassIDs: \"compass-id:ts-lead-demand-api\" diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/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_ts-lead-demand-api/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/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_ts-lead-demand-api/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/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_ts-lead-demand-api/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/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_ts-lead-demand-api/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/notification/notification.yaml new file mode 100644 index 00000000..fc1708d4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/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_ts-lead-demand-api PROD +- alertingProfile: CD_VDLM_ts-lead-demand-api/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-lead-demand-api PROD +- alertingProfile: CD_VDLM_ts-lead-demand-api/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-lead-demand-api PROD +- alertingProfile: CD_VDLM_ts-lead-demand-api/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-lead-demand-api INT +- alertingProfile: CD_VDLM_ts-lead-demand-api/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-lead-demand-api INT +- alertingProfile: CD_VDLM_ts-lead-demand-api/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-lead-demand-api INT +- alertingProfile: CD_VDLM_ts-lead-demand-api/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_ts-lead-demand-api ITSM PROD +- alertingProfile: CD_VDLM_ts-lead-demand-api/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_ts-lead-demand-api ITSM PROD +- alertingProfile: CD_VDLM_ts-lead-demand-api/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_ts-lead-demand-api ITSM PROD +- alertingProfile: CD_VDLM_ts-lead-demand-api/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_ts-lead-demand-api ITSM INT +- alertingProfile: CD_VDLM_ts-lead-demand-api/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_ts-lead-demand-api ITSM INT +- alertingProfile: CD_VDLM_ts-lead-demand-api/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_ts-lead-demand-api ITSM INT +- alertingProfile: CD_VDLM_ts-lead-demand-api/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/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_ts-lead-demand-api/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/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_ts-lead-demand-api/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..d77b61d1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-lead-demand-api/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_ts-lead-demand-api - +- mzName: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-lead-demand-api/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..c9a29f54 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/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_ts-pat-ui PROD +- mzId: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-pat-ui PROD +- mzId: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-pat-ui PROD +- mzId: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-pat-ui INT +- mzId: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-pat-ui INT +- mzId: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-pat-ui INT +- mzId: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/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_ts-pat-ui/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/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_ts-pat-ui/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/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_ts-pat-ui/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/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_ts-pat-ui/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/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_ts-pat-ui/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/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_ts-pat-ui/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/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_ts-pat-ui/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/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_ts-pat-ui/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/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_ts-pat-ui/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/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_ts-pat-ui/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/dashboard/dashboard.yaml new file mode 100644 index 00000000..4cbb2b24 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/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_ts-pat-ui PROD +- mzName: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_ts-pat-ui PROD +- mzName: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_ts-pat-ui PROD +- mzName: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_ts-pat-ui PROD +- mzName: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_ts-pat-ui E2E +- mzName: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_ts-pat-ui E2E +- mzName: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_ts-pat-ui E2E +- mzName: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_ts-pat-ui E2E +- mzName: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_ts-pat-ui INT +- mzName: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_ts-pat-ui INT +- mzName: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_ts-pat-ui INT +- mzName: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_ts-pat-ui INT +- mzName: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_ts-pat-ui TEST +- mzName: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_ts-pat-ui TEST +- mzName: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_ts-pat-ui TEST +- mzName: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_ts-pat-ui TEST +- mzName: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/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_ts-pat-ui/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/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_ts-pat-ui/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/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_ts-pat-ui/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/management-zone/management-zone.yaml new file mode 100644 index 00000000..09df3cfd --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_ts-pat-ui +- compassIDs: \"compass-id:ts-pat-ui\" diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/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_ts-pat-ui/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/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_ts-pat-ui/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/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_ts-pat-ui/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/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_ts-pat-ui/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/notification/notification.yaml new file mode 100644 index 00000000..7678b20e --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/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_ts-pat-ui PROD +- alertingProfile: CD_VDLM_ts-pat-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-pat-ui PROD +- alertingProfile: CD_VDLM_ts-pat-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-pat-ui PROD +- alertingProfile: CD_VDLM_ts-pat-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-pat-ui INT +- alertingProfile: CD_VDLM_ts-pat-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-pat-ui INT +- alertingProfile: CD_VDLM_ts-pat-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-pat-ui INT +- alertingProfile: CD_VDLM_ts-pat-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_ts-pat-ui ITSM PROD +- alertingProfile: CD_VDLM_ts-pat-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_ts-pat-ui ITSM PROD +- alertingProfile: CD_VDLM_ts-pat-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_ts-pat-ui ITSM PROD +- alertingProfile: CD_VDLM_ts-pat-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_ts-pat-ui ITSM INT +- alertingProfile: CD_VDLM_ts-pat-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_ts-pat-ui ITSM INT +- alertingProfile: CD_VDLM_ts-pat-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_ts-pat-ui ITSM INT +- alertingProfile: CD_VDLM_ts-pat-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/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_ts-pat-ui/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/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_ts-pat-ui/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..e0cd0ae3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pat-ui/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_ts-pat-ui - +- mzName: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pat-ui/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-pffs/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..5e26bae8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/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_ts-pffs PROD +- mzId: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-pffs PROD +- mzId: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-pffs PROD +- mzId: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-pffs INT +- mzId: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-pffs INT +- mzId: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-pffs INT +- mzId: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-pffs/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/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_ts-pffs/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/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_ts-pffs/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/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_ts-pffs/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/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_ts-pffs/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/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_ts-pffs/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/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_ts-pffs/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/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_ts-pffs/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/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_ts-pffs/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/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_ts-pffs/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-pffs/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-pffs/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/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_ts-pffs/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/dashboard/dashboard.yaml new file mode 100644 index 00000000..7ebcc49a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/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_ts-pffs PROD +- mzName: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_ts-pffs PROD +- mzName: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_ts-pffs PROD +- mzName: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_ts-pffs PROD +- mzName: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_ts-pffs E2E +- mzName: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_ts-pffs E2E +- mzName: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_ts-pffs E2E +- mzName: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_ts-pffs E2E +- mzName: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_ts-pffs INT +- mzName: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_ts-pffs INT +- mzName: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_ts-pffs INT +- mzName: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_ts-pffs INT +- mzName: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_ts-pffs TEST +- mzName: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_ts-pffs TEST +- mzName: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_ts-pffs TEST +- mzName: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_ts-pffs TEST +- mzName: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-pffs/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/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_ts-pffs/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/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_ts-pffs/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/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_ts-pffs/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/management-zone/management-zone.yaml new file mode 100644 index 00000000..0dfb3368 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_ts-pffs +- compassIDs: \"compass-id:ts-pffs\" diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-pffs/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/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_ts-pffs/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/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_ts-pffs/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/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_ts-pffs/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/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_ts-pffs/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/notification/notification.yaml new file mode 100644 index 00000000..8faa1874 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/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_ts-pffs PROD +- alertingProfile: CD_VDLM_ts-pffs/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-pffs PROD +- alertingProfile: CD_VDLM_ts-pffs/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-pffs PROD +- alertingProfile: CD_VDLM_ts-pffs/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-pffs INT +- alertingProfile: CD_VDLM_ts-pffs/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-pffs INT +- alertingProfile: CD_VDLM_ts-pffs/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-pffs INT +- alertingProfile: CD_VDLM_ts-pffs/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_ts-pffs ITSM PROD +- alertingProfile: CD_VDLM_ts-pffs/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_ts-pffs ITSM PROD +- alertingProfile: CD_VDLM_ts-pffs/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_ts-pffs ITSM PROD +- alertingProfile: CD_VDLM_ts-pffs/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_ts-pffs ITSM INT +- alertingProfile: CD_VDLM_ts-pffs/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_ts-pffs ITSM INT +- alertingProfile: CD_VDLM_ts-pffs/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_ts-pffs ITSM INT +- alertingProfile: CD_VDLM_ts-pffs/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-pffs/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/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_ts-pffs/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/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_ts-pffs/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..e9643b56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-pffs/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_ts-pffs - +- mzName: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-pffs/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..1f8d25b8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/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_ts-rtc-ui PROD +- mzId: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-rtc-ui PROD +- mzId: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-rtc-ui PROD +- mzId: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-rtc-ui INT +- mzId: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-rtc-ui INT +- mzId: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-rtc-ui INT +- mzId: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/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_ts-rtc-ui/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/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_ts-rtc-ui/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/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_ts-rtc-ui/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/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_ts-rtc-ui/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/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_ts-rtc-ui/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/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_ts-rtc-ui/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/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_ts-rtc-ui/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/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_ts-rtc-ui/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/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_ts-rtc-ui/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/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_ts-rtc-ui/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/dashboard/dashboard.yaml new file mode 100644 index 00000000..641917f9 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/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_ts-rtc-ui PROD +- mzName: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_ts-rtc-ui PROD +- mzName: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_ts-rtc-ui PROD +- mzName: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_ts-rtc-ui PROD +- mzName: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_ts-rtc-ui E2E +- mzName: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_ts-rtc-ui E2E +- mzName: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_ts-rtc-ui E2E +- mzName: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_ts-rtc-ui E2E +- mzName: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_ts-rtc-ui INT +- mzName: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_ts-rtc-ui INT +- mzName: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_ts-rtc-ui INT +- mzName: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_ts-rtc-ui INT +- mzName: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_ts-rtc-ui TEST +- mzName: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_ts-rtc-ui TEST +- mzName: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_ts-rtc-ui TEST +- mzName: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_ts-rtc-ui TEST +- mzName: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/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_ts-rtc-ui/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/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_ts-rtc-ui/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/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_ts-rtc-ui/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/management-zone/management-zone.yaml new file mode 100644 index 00000000..ccf44a8e --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_ts-rtc-ui +- compassIDs: \"compass-id:ts-rtc-ui\" diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/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_ts-rtc-ui/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/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_ts-rtc-ui/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/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_ts-rtc-ui/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/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_ts-rtc-ui/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/notification/notification.yaml new file mode 100644 index 00000000..7ce5cb46 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/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_ts-rtc-ui PROD +- alertingProfile: CD_VDLM_ts-rtc-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-rtc-ui PROD +- alertingProfile: CD_VDLM_ts-rtc-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-rtc-ui PROD +- alertingProfile: CD_VDLM_ts-rtc-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-rtc-ui INT +- alertingProfile: CD_VDLM_ts-rtc-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-rtc-ui INT +- alertingProfile: CD_VDLM_ts-rtc-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-rtc-ui INT +- alertingProfile: CD_VDLM_ts-rtc-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_ts-rtc-ui ITSM PROD +- alertingProfile: CD_VDLM_ts-rtc-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_ts-rtc-ui ITSM PROD +- alertingProfile: CD_VDLM_ts-rtc-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_ts-rtc-ui ITSM PROD +- alertingProfile: CD_VDLM_ts-rtc-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_ts-rtc-ui ITSM INT +- alertingProfile: CD_VDLM_ts-rtc-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_ts-rtc-ui ITSM INT +- alertingProfile: CD_VDLM_ts-rtc-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_ts-rtc-ui ITSM INT +- alertingProfile: CD_VDLM_ts-rtc-ui/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/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_ts-rtc-ui/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/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_ts-rtc-ui/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..9c8ce317 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-rtc-ui/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_ts-rtc-ui - +- mzName: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-rtc-ui/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-sdi/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..7fba472f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/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_ts-sdi PROD +- mzId: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-sdi PROD +- mzId: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-sdi PROD +- mzId: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-sdi INT +- mzId: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-sdi INT +- mzId: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-sdi INT +- mzId: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-sdi/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/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_ts-sdi/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/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_ts-sdi/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/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_ts-sdi/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/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_ts-sdi/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/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_ts-sdi/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/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_ts-sdi/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/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_ts-sdi/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/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_ts-sdi/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/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_ts-sdi/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-sdi/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-sdi/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/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_ts-sdi/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/dashboard/dashboard.yaml new file mode 100644 index 00000000..ef75e8f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/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_ts-sdi PROD +- mzName: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_ts-sdi PROD +- mzName: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_ts-sdi PROD +- mzName: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_ts-sdi PROD +- mzName: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_ts-sdi E2E +- mzName: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_ts-sdi E2E +- mzName: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_ts-sdi E2E +- mzName: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_ts-sdi E2E +- mzName: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_ts-sdi INT +- mzName: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_ts-sdi INT +- mzName: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_ts-sdi INT +- mzName: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_ts-sdi INT +- mzName: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_ts-sdi TEST +- mzName: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_ts-sdi TEST +- mzName: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_ts-sdi TEST +- mzName: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_ts-sdi TEST +- mzName: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-sdi/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/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_ts-sdi/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/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_ts-sdi/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/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_ts-sdi/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/management-zone/management-zone.yaml new file mode 100644 index 00000000..0304437f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_ts-sdi +- compassIDs: \"compass-id:ts-sdi\" diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-sdi/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/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_ts-sdi/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/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_ts-sdi/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/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_ts-sdi/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/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_ts-sdi/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/notification/notification.yaml new file mode 100644 index 00000000..21435000 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/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_ts-sdi PROD +- alertingProfile: CD_VDLM_ts-sdi/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-sdi PROD +- alertingProfile: CD_VDLM_ts-sdi/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-sdi PROD +- alertingProfile: CD_VDLM_ts-sdi/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-sdi INT +- alertingProfile: CD_VDLM_ts-sdi/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-sdi INT +- alertingProfile: CD_VDLM_ts-sdi/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-sdi INT +- alertingProfile: CD_VDLM_ts-sdi/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_ts-sdi ITSM PROD +- alertingProfile: CD_VDLM_ts-sdi/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_ts-sdi ITSM PROD +- alertingProfile: CD_VDLM_ts-sdi/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_ts-sdi ITSM PROD +- alertingProfile: CD_VDLM_ts-sdi/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_ts-sdi ITSM INT +- alertingProfile: CD_VDLM_ts-sdi/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_ts-sdi ITSM INT +- alertingProfile: CD_VDLM_ts-sdi/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_ts-sdi ITSM INT +- alertingProfile: CD_VDLM_ts-sdi/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-sdi/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/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_ts-sdi/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/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_ts-sdi/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..f8f8eaf2 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-sdi/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_ts-sdi - +- mzName: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-sdi/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..294e2dff --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/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_ts-tyredi PROD +- mzId: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-tyredi PROD +- mzId: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-tyredi PROD +- mzId: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-tyredi INT +- mzId: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-tyredi INT +- mzId: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-tyredi INT +- mzId: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/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_ts-tyredi/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/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_ts-tyredi/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/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_ts-tyredi/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/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_ts-tyredi/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/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_ts-tyredi/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/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_ts-tyredi/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/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_ts-tyredi/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/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_ts-tyredi/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/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_ts-tyredi/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/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_ts-tyredi/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/dashboard/dashboard.yaml new file mode 100644 index 00000000..b0e491f3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/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_ts-tyredi PROD +- mzName: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_ts-tyredi PROD +- mzName: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_ts-tyredi PROD +- mzName: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_ts-tyredi PROD +- mzName: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_ts-tyredi E2E +- mzName: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_ts-tyredi E2E +- mzName: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_ts-tyredi E2E +- mzName: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_ts-tyredi E2E +- mzName: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_ts-tyredi INT +- mzName: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_ts-tyredi INT +- mzName: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_ts-tyredi INT +- mzName: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_ts-tyredi INT +- mzName: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_ts-tyredi TEST +- mzName: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_ts-tyredi TEST +- mzName: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_ts-tyredi TEST +- mzName: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_ts-tyredi TEST +- mzName: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/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_ts-tyredi/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/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_ts-tyredi/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/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_ts-tyredi/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/management-zone/management-zone.yaml new file mode 100644 index 00000000..b5b1f4c3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_ts-tyredi +- compassIDs: \"compass-id:ts-tyredi\" diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/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_ts-tyredi/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/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_ts-tyredi/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/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_ts-tyredi/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/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_ts-tyredi/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/notification/notification.yaml new file mode 100644 index 00000000..64d12dd6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/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_ts-tyredi PROD +- alertingProfile: CD_VDLM_ts-tyredi/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-tyredi PROD +- alertingProfile: CD_VDLM_ts-tyredi/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-tyredi PROD +- alertingProfile: CD_VDLM_ts-tyredi/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-tyredi INT +- alertingProfile: CD_VDLM_ts-tyredi/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-tyredi INT +- alertingProfile: CD_VDLM_ts-tyredi/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-tyredi INT +- alertingProfile: CD_VDLM_ts-tyredi/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_ts-tyredi ITSM PROD +- alertingProfile: CD_VDLM_ts-tyredi/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_ts-tyredi ITSM PROD +- alertingProfile: CD_VDLM_ts-tyredi/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_ts-tyredi ITSM PROD +- alertingProfile: CD_VDLM_ts-tyredi/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_ts-tyredi ITSM INT +- alertingProfile: CD_VDLM_ts-tyredi/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_ts-tyredi ITSM INT +- alertingProfile: CD_VDLM_ts-tyredi/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_ts-tyredi ITSM INT +- alertingProfile: CD_VDLM_ts-tyredi/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/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_ts-tyredi/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/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_ts-tyredi/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..b95a45d4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyredi/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_ts-tyredi - +- mzName: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyredi/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..ae522bbd --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/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_ts-tyrewf PROD +- mzId: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-tyrewf PROD +- mzId: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-tyrewf PROD +- mzId: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-tyrewf INT +- mzId: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-tyrewf INT +- mzId: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-tyrewf INT +- mzId: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/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_ts-tyrewf/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/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_ts-tyrewf/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/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_ts-tyrewf/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/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_ts-tyrewf/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/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_ts-tyrewf/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/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_ts-tyrewf/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/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_ts-tyrewf/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/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_ts-tyrewf/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/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_ts-tyrewf/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/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_ts-tyrewf/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/dashboard/dashboard.yaml new file mode 100644 index 00000000..cf85efba --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/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_ts-tyrewf PROD +- mzName: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_ts-tyrewf PROD +- mzName: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_ts-tyrewf PROD +- mzName: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_ts-tyrewf PROD +- mzName: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_ts-tyrewf E2E +- mzName: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_ts-tyrewf E2E +- mzName: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_ts-tyrewf E2E +- mzName: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_ts-tyrewf E2E +- mzName: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_ts-tyrewf INT +- mzName: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_ts-tyrewf INT +- mzName: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_ts-tyrewf INT +- mzName: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_ts-tyrewf INT +- mzName: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_ts-tyrewf TEST +- mzName: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_ts-tyrewf TEST +- mzName: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_ts-tyrewf TEST +- mzName: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_ts-tyrewf TEST +- mzName: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/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_ts-tyrewf/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/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_ts-tyrewf/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/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_ts-tyrewf/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/management-zone/management-zone.yaml new file mode 100644 index 00000000..1dedde7e --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_ts-tyrewf +- compassIDs: \"compass-id:ts-tyrewf\" diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/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_ts-tyrewf/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/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_ts-tyrewf/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/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_ts-tyrewf/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/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_ts-tyrewf/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/notification/notification.yaml new file mode 100644 index 00000000..922c09b7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/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_ts-tyrewf PROD +- alertingProfile: CD_VDLM_ts-tyrewf/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-tyrewf PROD +- alertingProfile: CD_VDLM_ts-tyrewf/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-tyrewf PROD +- alertingProfile: CD_VDLM_ts-tyrewf/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-tyrewf INT +- alertingProfile: CD_VDLM_ts-tyrewf/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-tyrewf INT +- alertingProfile: CD_VDLM_ts-tyrewf/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-tyrewf INT +- alertingProfile: CD_VDLM_ts-tyrewf/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_ts-tyrewf ITSM PROD +- alertingProfile: CD_VDLM_ts-tyrewf/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_ts-tyrewf ITSM PROD +- alertingProfile: CD_VDLM_ts-tyrewf/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_ts-tyrewf ITSM PROD +- alertingProfile: CD_VDLM_ts-tyrewf/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_ts-tyrewf ITSM INT +- alertingProfile: CD_VDLM_ts-tyrewf/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_ts-tyrewf ITSM INT +- alertingProfile: CD_VDLM_ts-tyrewf/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_ts-tyrewf ITSM INT +- alertingProfile: CD_VDLM_ts-tyrewf/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/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_ts-tyrewf/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/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_ts-tyrewf/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..b702f1ce --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewf/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_ts-tyrewf - +- mzName: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewf/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..54b6a877 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/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_ts-tyrews PROD +- mzId: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-tyrews PROD +- mzId: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-tyrews PROD +- mzId: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-tyrews INT +- mzId: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-tyrews INT +- mzId: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-tyrews INT +- mzId: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/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_ts-tyrews/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/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_ts-tyrews/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/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_ts-tyrews/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/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_ts-tyrews/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/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_ts-tyrews/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/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_ts-tyrews/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/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_ts-tyrews/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/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_ts-tyrews/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/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_ts-tyrews/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/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_ts-tyrews/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/dashboard/dashboard.yaml new file mode 100644 index 00000000..c5652b0e --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/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_ts-tyrews PROD +- mzName: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_ts-tyrews PROD +- mzName: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_ts-tyrews PROD +- mzName: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_ts-tyrews PROD +- mzName: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_ts-tyrews E2E +- mzName: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_ts-tyrews E2E +- mzName: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_ts-tyrews E2E +- mzName: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_ts-tyrews E2E +- mzName: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_ts-tyrews INT +- mzName: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_ts-tyrews INT +- mzName: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_ts-tyrews INT +- mzName: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_ts-tyrews INT +- mzName: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_ts-tyrews TEST +- mzName: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_ts-tyrews TEST +- mzName: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_ts-tyrews TEST +- mzName: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_ts-tyrews TEST +- mzName: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/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_ts-tyrews/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/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_ts-tyrews/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/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_ts-tyrews/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/management-zone/management-zone.yaml new file mode 100644 index 00000000..88340775 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_ts-tyrews +- compassIDs: \"compass-id:ts-tyrews\" diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/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_ts-tyrews/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/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_ts-tyrews/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/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_ts-tyrews/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/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_ts-tyrews/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/notification/notification.yaml new file mode 100644 index 00000000..b3da4984 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/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_ts-tyrews PROD +- alertingProfile: CD_VDLM_ts-tyrews/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-tyrews PROD +- alertingProfile: CD_VDLM_ts-tyrews/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-tyrews PROD +- alertingProfile: CD_VDLM_ts-tyrews/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-tyrews INT +- alertingProfile: CD_VDLM_ts-tyrews/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-tyrews INT +- alertingProfile: CD_VDLM_ts-tyrews/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-tyrews INT +- alertingProfile: CD_VDLM_ts-tyrews/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_ts-tyrews ITSM PROD +- alertingProfile: CD_VDLM_ts-tyrews/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_ts-tyrews ITSM PROD +- alertingProfile: CD_VDLM_ts-tyrews/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_ts-tyrews ITSM PROD +- alertingProfile: CD_VDLM_ts-tyrews/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_ts-tyrews ITSM INT +- alertingProfile: CD_VDLM_ts-tyrews/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_ts-tyrews ITSM INT +- alertingProfile: CD_VDLM_ts-tyrews/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_ts-tyrews ITSM INT +- alertingProfile: CD_VDLM_ts-tyrews/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/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_ts-tyrews/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/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_ts-tyrews/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..afebee34 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrews/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_ts-tyrews - +- mzName: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrews/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..112fb101 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/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_ts-tyrewt PROD +- mzId: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-tyrewt PROD +- mzId: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-tyrewt PROD +- mzId: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-tyrewt INT +- mzId: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-tyrewt INT +- mzId: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-tyrewt INT +- mzId: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/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_ts-tyrewt/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/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_ts-tyrewt/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/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_ts-tyrewt/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/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_ts-tyrewt/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/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_ts-tyrewt/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/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_ts-tyrewt/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/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_ts-tyrewt/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/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_ts-tyrewt/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/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_ts-tyrewt/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/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_ts-tyrewt/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/dashboard/dashboard.yaml new file mode 100644 index 00000000..8fa98627 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/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_ts-tyrewt PROD +- mzName: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_ts-tyrewt PROD +- mzName: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_ts-tyrewt PROD +- mzName: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_ts-tyrewt PROD +- mzName: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_ts-tyrewt E2E +- mzName: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_ts-tyrewt E2E +- mzName: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_ts-tyrewt E2E +- mzName: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_ts-tyrewt E2E +- mzName: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_ts-tyrewt INT +- mzName: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_ts-tyrewt INT +- mzName: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_ts-tyrewt INT +- mzName: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_ts-tyrewt INT +- mzName: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_ts-tyrewt TEST +- mzName: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_ts-tyrewt TEST +- mzName: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_ts-tyrewt TEST +- mzName: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_ts-tyrewt TEST +- mzName: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/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_ts-tyrewt/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/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_ts-tyrewt/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/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_ts-tyrewt/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/management-zone/management-zone.yaml new file mode 100644 index 00000000..56a048ce --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_ts-tyrewt +- compassIDs: \"compass-id:ts-tyrewt\" diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/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_ts-tyrewt/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/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_ts-tyrewt/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/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_ts-tyrewt/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/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_ts-tyrewt/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/notification/notification.yaml new file mode 100644 index 00000000..13e92df5 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/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_ts-tyrewt PROD +- alertingProfile: CD_VDLM_ts-tyrewt/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ts-tyrewt PROD +- alertingProfile: CD_VDLM_ts-tyrewt/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ts-tyrewt PROD +- alertingProfile: CD_VDLM_ts-tyrewt/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ts-tyrewt INT +- alertingProfile: CD_VDLM_ts-tyrewt/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ts-tyrewt INT +- alertingProfile: CD_VDLM_ts-tyrewt/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ts-tyrewt INT +- alertingProfile: CD_VDLM_ts-tyrewt/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_ts-tyrewt ITSM PROD +- alertingProfile: CD_VDLM_ts-tyrewt/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_ts-tyrewt ITSM PROD +- alertingProfile: CD_VDLM_ts-tyrewt/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_ts-tyrewt ITSM PROD +- alertingProfile: CD_VDLM_ts-tyrewt/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_ts-tyrewt ITSM INT +- alertingProfile: CD_VDLM_ts-tyrewt/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_ts-tyrewt ITSM INT +- alertingProfile: CD_VDLM_ts-tyrewt/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_ts-tyrewt ITSM INT +- alertingProfile: CD_VDLM_ts-tyrewt/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/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_ts-tyrewt/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/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_ts-tyrewt/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..4f3c1e88 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ts-tyrewt/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_ts-tyrewt - +- mzName: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ts-tyrewt/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tsbgservice/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..38d566c5 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/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_tsbgservice PROD +- mzId: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_tsbgservice PROD +- mzId: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_tsbgservice PROD +- mzId: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_tsbgservice INT +- mzId: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_tsbgservice INT +- mzId: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_tsbgservice INT +- mzId: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tsbgservice/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/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_tsbgservice/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/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_tsbgservice/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/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_tsbgservice/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/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_tsbgservice/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/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_tsbgservice/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/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_tsbgservice/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/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_tsbgservice/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/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_tsbgservice/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/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_tsbgservice/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tsbgservice/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tsbgservice/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/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_tsbgservice/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/dashboard/dashboard.yaml new file mode 100644 index 00000000..c7cfdffa --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/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_tsbgservice PROD +- mzName: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_tsbgservice PROD +- mzName: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_tsbgservice PROD +- mzName: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_tsbgservice PROD +- mzName: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_tsbgservice E2E +- mzName: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_tsbgservice E2E +- mzName: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_tsbgservice E2E +- mzName: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_tsbgservice E2E +- mzName: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_tsbgservice INT +- mzName: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_tsbgservice INT +- mzName: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_tsbgservice INT +- mzName: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_tsbgservice INT +- mzName: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_tsbgservice TEST +- mzName: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_tsbgservice TEST +- mzName: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_tsbgservice TEST +- mzName: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_tsbgservice TEST +- mzName: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tsbgservice/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/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_tsbgservice/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/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_tsbgservice/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/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_tsbgservice/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/management-zone/management-zone.yaml new file mode 100644 index 00000000..33446136 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_tsbgservice +- compassIDs: \"compass-id:tsbgservice\" diff --git a/BMW-Dynatrace-config/CD_VDLM_tsbgservice/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/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_tsbgservice/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/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_tsbgservice/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/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_tsbgservice/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/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_tsbgservice/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/notification/notification.yaml new file mode 100644 index 00000000..3851903b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/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_tsbgservice PROD +- alertingProfile: CD_VDLM_tsbgservice/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_tsbgservice PROD +- alertingProfile: CD_VDLM_tsbgservice/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_tsbgservice PROD +- alertingProfile: CD_VDLM_tsbgservice/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_tsbgservice INT +- alertingProfile: CD_VDLM_tsbgservice/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_tsbgservice INT +- alertingProfile: CD_VDLM_tsbgservice/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_tsbgservice INT +- alertingProfile: CD_VDLM_tsbgservice/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_tsbgservice ITSM PROD +- alertingProfile: CD_VDLM_tsbgservice/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_tsbgservice ITSM PROD +- alertingProfile: CD_VDLM_tsbgservice/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_tsbgservice ITSM PROD +- alertingProfile: CD_VDLM_tsbgservice/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_tsbgservice ITSM INT +- alertingProfile: CD_VDLM_tsbgservice/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_tsbgservice ITSM INT +- alertingProfile: CD_VDLM_tsbgservice/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_tsbgservice ITSM INT +- alertingProfile: CD_VDLM_tsbgservice/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_tsbgservice/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/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_tsbgservice/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/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_tsbgservice/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..7fc10a33 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsbgservice/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_tsbgservice - +- mzName: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsbgservice/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tscs/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_tscs/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..214804bb --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/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_tscs PROD +- mzId: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_tscs PROD +- mzId: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_tscs PROD +- mzId: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_tscs INT +- mzId: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_tscs INT +- mzId: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_tscs INT +- mzId: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tscs/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_tscs/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/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_tscs/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_tscs/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/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_tscs/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_tscs/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/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_tscs/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_tscs/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/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_tscs/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_tscs/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/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_tscs/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_tscs/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/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_tscs/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_tscs/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/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_tscs/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_tscs/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/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_tscs/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_tscs/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/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_tscs/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_tscs/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tscs/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_tscs/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tscs/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_tscs/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/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_tscs/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_tscs/dashboard/dashboard.yaml new file mode 100644 index 00000000..8d8777e5 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/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_tscs PROD +- mzName: CD_VDLM_tscs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_tscs PROD +- mzName: CD_VDLM_tscs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_tscs PROD +- mzName: CD_VDLM_tscs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_tscs PROD +- mzName: CD_VDLM_tscs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_tscs E2E +- mzName: CD_VDLM_tscs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_tscs E2E +- mzName: CD_VDLM_tscs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_tscs E2E +- mzName: CD_VDLM_tscs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_tscs E2E +- mzName: CD_VDLM_tscs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_tscs INT +- mzName: CD_VDLM_tscs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_tscs INT +- mzName: CD_VDLM_tscs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_tscs INT +- mzName: CD_VDLM_tscs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_tscs INT +- mzName: CD_VDLM_tscs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_tscs TEST +- mzName: CD_VDLM_tscs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_tscs TEST +- mzName: CD_VDLM_tscs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_tscs TEST +- mzName: CD_VDLM_tscs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_tscs TEST +- mzName: CD_VDLM_tscs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tscs/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_tscs/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/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_tscs/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_tscs/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/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_tscs/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_tscs/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/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_tscs/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_tscs/management-zone/management-zone.yaml new file mode 100644 index 00000000..0c258abb --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_tscs +- compassIDs: \"compass-id:tscs\" diff --git a/BMW-Dynatrace-config/CD_VDLM_tscs/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_tscs/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/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_tscs/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_tscs/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/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_tscs/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_tscs/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/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_tscs/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_tscs/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/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_tscs/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_tscs/notification/notification.yaml new file mode 100644 index 00000000..74e8d138 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/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_tscs PROD +- alertingProfile: CD_VDLM_tscs/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_tscs PROD +- alertingProfile: CD_VDLM_tscs/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_tscs PROD +- alertingProfile: CD_VDLM_tscs/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_tscs INT +- alertingProfile: CD_VDLM_tscs/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_tscs INT +- alertingProfile: CD_VDLM_tscs/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_tscs INT +- alertingProfile: CD_VDLM_tscs/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_tscs ITSM PROD +- alertingProfile: CD_VDLM_tscs/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_tscs ITSM PROD +- alertingProfile: CD_VDLM_tscs/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_tscs ITSM PROD +- alertingProfile: CD_VDLM_tscs/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_tscs ITSM INT +- alertingProfile: CD_VDLM_tscs/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_tscs ITSM INT +- alertingProfile: CD_VDLM_tscs/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_tscs ITSM INT +- alertingProfile: CD_VDLM_tscs/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_tscs/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_tscs/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/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_tscs/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_tscs/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/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_tscs/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_tscs/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..699e5ee5 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tscs/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_tscs - +- mzName: CD_VDLM_tscs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tscs/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tsdd/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_tsdd/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..954271b5 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/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_tsdd PROD +- mzId: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_tsdd PROD +- mzId: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_tsdd PROD +- mzId: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_tsdd INT +- mzId: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_tsdd INT +- mzId: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_tsdd INT +- mzId: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tsdd/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_tsdd/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/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_tsdd/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_tsdd/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/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_tsdd/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_tsdd/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/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_tsdd/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_tsdd/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/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_tsdd/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_tsdd/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/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_tsdd/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_tsdd/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/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_tsdd/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_tsdd/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/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_tsdd/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_tsdd/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/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_tsdd/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_tsdd/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/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_tsdd/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_tsdd/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tsdd/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_tsdd/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tsdd/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_tsdd/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/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_tsdd/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_tsdd/dashboard/dashboard.yaml new file mode 100644 index 00000000..8d4f8247 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/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_tsdd PROD +- mzName: CD_VDLM_tsdd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_tsdd PROD +- mzName: CD_VDLM_tsdd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_tsdd PROD +- mzName: CD_VDLM_tsdd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_tsdd PROD +- mzName: CD_VDLM_tsdd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_tsdd E2E +- mzName: CD_VDLM_tsdd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_tsdd E2E +- mzName: CD_VDLM_tsdd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_tsdd E2E +- mzName: CD_VDLM_tsdd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_tsdd E2E +- mzName: CD_VDLM_tsdd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_tsdd INT +- mzName: CD_VDLM_tsdd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_tsdd INT +- mzName: CD_VDLM_tsdd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_tsdd INT +- mzName: CD_VDLM_tsdd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_tsdd INT +- mzName: CD_VDLM_tsdd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_tsdd TEST +- mzName: CD_VDLM_tsdd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_tsdd TEST +- mzName: CD_VDLM_tsdd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_tsdd TEST +- mzName: CD_VDLM_tsdd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_tsdd TEST +- mzName: CD_VDLM_tsdd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tsdd/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_tsdd/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/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_tsdd/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_tsdd/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/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_tsdd/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_tsdd/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/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_tsdd/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_tsdd/management-zone/management-zone.yaml new file mode 100644 index 00000000..96adc2ca --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_tsdd +- compassIDs: \"compass-id:tsdd\" diff --git a/BMW-Dynatrace-config/CD_VDLM_tsdd/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_tsdd/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/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_tsdd/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_tsdd/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/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_tsdd/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_tsdd/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/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_tsdd/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_tsdd/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/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_tsdd/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_tsdd/notification/notification.yaml new file mode 100644 index 00000000..a9de1bf0 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/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_tsdd PROD +- alertingProfile: CD_VDLM_tsdd/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_tsdd PROD +- alertingProfile: CD_VDLM_tsdd/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_tsdd PROD +- alertingProfile: CD_VDLM_tsdd/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_tsdd INT +- alertingProfile: CD_VDLM_tsdd/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_tsdd INT +- alertingProfile: CD_VDLM_tsdd/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_tsdd INT +- alertingProfile: CD_VDLM_tsdd/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_tsdd ITSM PROD +- alertingProfile: CD_VDLM_tsdd/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_tsdd ITSM PROD +- alertingProfile: CD_VDLM_tsdd/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_tsdd ITSM PROD +- alertingProfile: CD_VDLM_tsdd/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_tsdd ITSM INT +- alertingProfile: CD_VDLM_tsdd/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_tsdd ITSM INT +- alertingProfile: CD_VDLM_tsdd/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_tsdd ITSM INT +- alertingProfile: CD_VDLM_tsdd/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_tsdd/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_tsdd/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/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_tsdd/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_tsdd/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/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_tsdd/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_tsdd/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..78990106 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsdd/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_tsdd - +- mzName: CD_VDLM_tsdd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsdd/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tsrd/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_tsrd/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..c8aa77bd --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/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_tsrd PROD +- mzId: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_tsrd PROD +- mzId: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_tsrd PROD +- mzId: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_tsrd INT +- mzId: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_tsrd INT +- mzId: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_tsrd INT +- mzId: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tsrd/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_tsrd/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/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_tsrd/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_tsrd/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/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_tsrd/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_tsrd/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/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_tsrd/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_tsrd/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/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_tsrd/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_tsrd/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/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_tsrd/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_tsrd/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/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_tsrd/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_tsrd/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/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_tsrd/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_tsrd/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/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_tsrd/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_tsrd/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/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_tsrd/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_tsrd/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tsrd/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_tsrd/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tsrd/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_tsrd/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/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_tsrd/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_tsrd/dashboard/dashboard.yaml new file mode 100644 index 00000000..f21d96c9 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/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_tsrd PROD +- mzName: CD_VDLM_tsrd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_tsrd PROD +- mzName: CD_VDLM_tsrd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_tsrd PROD +- mzName: CD_VDLM_tsrd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_tsrd PROD +- mzName: CD_VDLM_tsrd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_tsrd E2E +- mzName: CD_VDLM_tsrd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_tsrd E2E +- mzName: CD_VDLM_tsrd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_tsrd E2E +- mzName: CD_VDLM_tsrd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_tsrd E2E +- mzName: CD_VDLM_tsrd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_tsrd INT +- mzName: CD_VDLM_tsrd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_tsrd INT +- mzName: CD_VDLM_tsrd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_tsrd INT +- mzName: CD_VDLM_tsrd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_tsrd INT +- mzName: CD_VDLM_tsrd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_tsrd TEST +- mzName: CD_VDLM_tsrd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_tsrd TEST +- mzName: CD_VDLM_tsrd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_tsrd TEST +- mzName: CD_VDLM_tsrd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_tsrd TEST +- mzName: CD_VDLM_tsrd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tsrd/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_tsrd/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/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_tsrd/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_tsrd/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/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_tsrd/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_tsrd/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/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_tsrd/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_tsrd/management-zone/management-zone.yaml new file mode 100644 index 00000000..3ad954f2 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_tsrd +- compassIDs: \"compass-id:tsrd\" diff --git a/BMW-Dynatrace-config/CD_VDLM_tsrd/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_tsrd/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/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_tsrd/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_tsrd/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/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_tsrd/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_tsrd/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/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_tsrd/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_tsrd/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/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_tsrd/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_tsrd/notification/notification.yaml new file mode 100644 index 00000000..3e08f118 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/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_tsrd PROD +- alertingProfile: CD_VDLM_tsrd/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_tsrd PROD +- alertingProfile: CD_VDLM_tsrd/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_tsrd PROD +- alertingProfile: CD_VDLM_tsrd/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_tsrd INT +- alertingProfile: CD_VDLM_tsrd/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_tsrd INT +- alertingProfile: CD_VDLM_tsrd/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_tsrd INT +- alertingProfile: CD_VDLM_tsrd/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_tsrd ITSM PROD +- alertingProfile: CD_VDLM_tsrd/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_tsrd ITSM PROD +- alertingProfile: CD_VDLM_tsrd/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_tsrd ITSM PROD +- alertingProfile: CD_VDLM_tsrd/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_tsrd ITSM INT +- alertingProfile: CD_VDLM_tsrd/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_tsrd ITSM INT +- alertingProfile: CD_VDLM_tsrd/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_tsrd ITSM INT +- alertingProfile: CD_VDLM_tsrd/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_tsrd/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_tsrd/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/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_tsrd/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_tsrd/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/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_tsrd/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_tsrd/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..25e7e453 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tsrd/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_tsrd - +- mzName: CD_VDLM_tsrd/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tsrd/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tssb-bt/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..ce042953 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/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_tssb-bt PROD +- mzId: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_tssb-bt PROD +- mzId: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_tssb-bt PROD +- mzId: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_tssb-bt INT +- mzId: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_tssb-bt INT +- mzId: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_tssb-bt INT +- mzId: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tssb-bt/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/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_tssb-bt/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/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_tssb-bt/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/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_tssb-bt/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/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_tssb-bt/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/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_tssb-bt/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/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_tssb-bt/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/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_tssb-bt/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/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_tssb-bt/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/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_tssb-bt/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tssb-bt/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tssb-bt/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/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_tssb-bt/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/dashboard/dashboard.yaml new file mode 100644 index 00000000..3d3cc5eb --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/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_tssb-bt PROD +- mzName: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_tssb-bt PROD +- mzName: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_tssb-bt PROD +- mzName: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_tssb-bt PROD +- mzName: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_tssb-bt E2E +- mzName: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_tssb-bt E2E +- mzName: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_tssb-bt E2E +- mzName: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_tssb-bt E2E +- mzName: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_tssb-bt INT +- mzName: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_tssb-bt INT +- mzName: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_tssb-bt INT +- mzName: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_tssb-bt INT +- mzName: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_tssb-bt TEST +- mzName: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_tssb-bt TEST +- mzName: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_tssb-bt TEST +- mzName: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_tssb-bt TEST +- mzName: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tssb-bt/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/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_tssb-bt/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/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_tssb-bt/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/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_tssb-bt/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/management-zone/management-zone.yaml new file mode 100644 index 00000000..2b7c69f3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_tssb-bt +- compassIDs: \"compass-id:tssb-bt\" diff --git a/BMW-Dynatrace-config/CD_VDLM_tssb-bt/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/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_tssb-bt/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/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_tssb-bt/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/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_tssb-bt/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/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_tssb-bt/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/notification/notification.yaml new file mode 100644 index 00000000..14e91257 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/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_tssb-bt PROD +- alertingProfile: CD_VDLM_tssb-bt/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_tssb-bt PROD +- alertingProfile: CD_VDLM_tssb-bt/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_tssb-bt PROD +- alertingProfile: CD_VDLM_tssb-bt/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_tssb-bt INT +- alertingProfile: CD_VDLM_tssb-bt/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_tssb-bt INT +- alertingProfile: CD_VDLM_tssb-bt/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_tssb-bt INT +- alertingProfile: CD_VDLM_tssb-bt/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_tssb-bt ITSM PROD +- alertingProfile: CD_VDLM_tssb-bt/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_tssb-bt ITSM PROD +- alertingProfile: CD_VDLM_tssb-bt/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_tssb-bt ITSM PROD +- alertingProfile: CD_VDLM_tssb-bt/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_tssb-bt ITSM INT +- alertingProfile: CD_VDLM_tssb-bt/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_tssb-bt ITSM INT +- alertingProfile: CD_VDLM_tssb-bt/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_tssb-bt ITSM INT +- alertingProfile: CD_VDLM_tssb-bt/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_tssb-bt/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/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_tssb-bt/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/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_tssb-bt/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..6b1dc965 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bt/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_tssb-bt - +- mzName: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bt/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tssb-bti/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..34c1315f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/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_tssb-bti PROD +- mzId: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_tssb-bti PROD +- mzId: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_tssb-bti PROD +- mzId: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_tssb-bti INT +- mzId: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_tssb-bti INT +- mzId: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_tssb-bti INT +- mzId: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tssb-bti/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/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_tssb-bti/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/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_tssb-bti/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/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_tssb-bti/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/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_tssb-bti/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/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_tssb-bti/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/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_tssb-bti/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/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_tssb-bti/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/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_tssb-bti/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/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_tssb-bti/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tssb-bti/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tssb-bti/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/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_tssb-bti/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/dashboard/dashboard.yaml new file mode 100644 index 00000000..efaeb88d --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/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_tssb-bti PROD +- mzName: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_tssb-bti PROD +- mzName: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_tssb-bti PROD +- mzName: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_tssb-bti PROD +- mzName: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_tssb-bti E2E +- mzName: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_tssb-bti E2E +- mzName: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_tssb-bti E2E +- mzName: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_tssb-bti E2E +- mzName: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_tssb-bti INT +- mzName: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_tssb-bti INT +- mzName: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_tssb-bti INT +- mzName: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_tssb-bti INT +- mzName: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_tssb-bti TEST +- mzName: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_tssb-bti TEST +- mzName: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_tssb-bti TEST +- mzName: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_tssb-bti TEST +- mzName: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tssb-bti/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/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_tssb-bti/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/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_tssb-bti/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/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_tssb-bti/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/management-zone/management-zone.yaml new file mode 100644 index 00000000..6b3cc375 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_tssb-bti +- compassIDs: \"compass-id:tssb-bti\" diff --git a/BMW-Dynatrace-config/CD_VDLM_tssb-bti/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/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_tssb-bti/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/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_tssb-bti/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/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_tssb-bti/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/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_tssb-bti/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/notification/notification.yaml new file mode 100644 index 00000000..c2ea5277 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/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_tssb-bti PROD +- alertingProfile: CD_VDLM_tssb-bti/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_tssb-bti PROD +- alertingProfile: CD_VDLM_tssb-bti/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_tssb-bti PROD +- alertingProfile: CD_VDLM_tssb-bti/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_tssb-bti INT +- alertingProfile: CD_VDLM_tssb-bti/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_tssb-bti INT +- alertingProfile: CD_VDLM_tssb-bti/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_tssb-bti INT +- alertingProfile: CD_VDLM_tssb-bti/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_tssb-bti ITSM PROD +- alertingProfile: CD_VDLM_tssb-bti/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_tssb-bti ITSM PROD +- alertingProfile: CD_VDLM_tssb-bti/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_tssb-bti ITSM PROD +- alertingProfile: CD_VDLM_tssb-bti/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_tssb-bti ITSM INT +- alertingProfile: CD_VDLM_tssb-bti/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_tssb-bti ITSM INT +- alertingProfile: CD_VDLM_tssb-bti/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_tssb-bti ITSM INT +- alertingProfile: CD_VDLM_tssb-bti/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_tssb-bti/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/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_tssb-bti/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/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_tssb-bti/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..58652684 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-bti/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_tssb-bti - +- mzName: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-bti/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..2d1d1fcc --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/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_tssb-tsp PROD +- mzId: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_tssb-tsp PROD +- mzId: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_tssb-tsp PROD +- mzId: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_tssb-tsp INT +- mzId: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_tssb-tsp INT +- mzId: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_tssb-tsp INT +- mzId: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/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_tssb-tsp/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/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_tssb-tsp/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/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_tssb-tsp/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/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_tssb-tsp/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/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_tssb-tsp/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/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_tssb-tsp/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/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_tssb-tsp/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/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_tssb-tsp/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/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_tssb-tsp/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/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_tssb-tsp/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/dashboard/dashboard.yaml new file mode 100644 index 00000000..8db3837f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/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_tssb-tsp PROD +- mzName: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_tssb-tsp PROD +- mzName: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_tssb-tsp PROD +- mzName: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_tssb-tsp PROD +- mzName: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_tssb-tsp E2E +- mzName: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_tssb-tsp E2E +- mzName: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_tssb-tsp E2E +- mzName: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_tssb-tsp E2E +- mzName: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_tssb-tsp INT +- mzName: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_tssb-tsp INT +- mzName: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_tssb-tsp INT +- mzName: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_tssb-tsp INT +- mzName: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_tssb-tsp TEST +- mzName: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_tssb-tsp TEST +- mzName: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_tssb-tsp TEST +- mzName: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_tssb-tsp TEST +- mzName: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/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_tssb-tsp/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/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_tssb-tsp/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/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_tssb-tsp/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/management-zone/management-zone.yaml new file mode 100644 index 00000000..86b68d57 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_tssb-tsp +- compassIDs: \"compass-id:tssb-tsp\" diff --git a/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/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_tssb-tsp/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/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_tssb-tsp/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/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_tssb-tsp/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/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_tssb-tsp/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/notification/notification.yaml new file mode 100644 index 00000000..bedc24e0 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/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_tssb-tsp PROD +- alertingProfile: CD_VDLM_tssb-tsp/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_tssb-tsp PROD +- alertingProfile: CD_VDLM_tssb-tsp/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_tssb-tsp PROD +- alertingProfile: CD_VDLM_tssb-tsp/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_tssb-tsp INT +- alertingProfile: CD_VDLM_tssb-tsp/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_tssb-tsp INT +- alertingProfile: CD_VDLM_tssb-tsp/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_tssb-tsp INT +- alertingProfile: CD_VDLM_tssb-tsp/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_tssb-tsp ITSM PROD +- alertingProfile: CD_VDLM_tssb-tsp/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_tssb-tsp ITSM PROD +- alertingProfile: CD_VDLM_tssb-tsp/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_tssb-tsp ITSM PROD +- alertingProfile: CD_VDLM_tssb-tsp/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_tssb-tsp ITSM INT +- alertingProfile: CD_VDLM_tssb-tsp/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_tssb-tsp ITSM INT +- alertingProfile: CD_VDLM_tssb-tsp/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_tssb-tsp ITSM INT +- alertingProfile: CD_VDLM_tssb-tsp/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/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_tssb-tsp/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/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_tssb-tsp/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..2ea07ce2 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_tssb-tsp/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_tssb-tsp - +- mzName: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_tssb-tsp/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ttbs/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VDLM_ttbs/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..537d88c7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/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_ttbs PROD +- mzId: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ttbs PROD +- mzId: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ttbs PROD +- mzId: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ttbs INT +- mzId: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ttbs INT +- mzId: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ttbs INT +- mzId: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ttbs/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VDLM_ttbs/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/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_ttbs/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ttbs/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/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_ttbs/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VDLM_ttbs/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/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_ttbs/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VDLM_ttbs/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/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_ttbs/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VDLM_ttbs/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/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_ttbs/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VDLM_ttbs/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/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_ttbs/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VDLM_ttbs/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/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_ttbs/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VDLM_ttbs/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/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_ttbs/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VDLM_ttbs/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/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_ttbs/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VDLM_ttbs/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ttbs/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VDLM_ttbs/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ttbs/dashboard/README.md b/BMW-Dynatrace-config/CD_VDLM_ttbs/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/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_ttbs/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VDLM_ttbs/dashboard/dashboard.yaml new file mode 100644 index 00000000..841b734e --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/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_ttbs PROD +- mzName: CD_VDLM_ttbs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_VDLM_ttbs PROD +- mzName: CD_VDLM_ttbs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_VDLM_ttbs PROD +- mzName: CD_VDLM_ttbs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_VDLM_ttbs PROD +- mzName: CD_VDLM_ttbs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_VDLM_ttbs E2E +- mzName: CD_VDLM_ttbs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_VDLM_ttbs E2E +- mzName: CD_VDLM_ttbs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_VDLM_ttbs E2E +- mzName: CD_VDLM_ttbs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_VDLM_ttbs E2E +- mzName: CD_VDLM_ttbs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_VDLM_ttbs INT +- mzName: CD_VDLM_ttbs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_VDLM_ttbs INT +- mzName: CD_VDLM_ttbs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_VDLM_ttbs INT +- mzName: CD_VDLM_ttbs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_VDLM_ttbs INT +- mzName: CD_VDLM_ttbs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_VDLM_ttbs TEST +- mzName: CD_VDLM_ttbs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_VDLM_ttbs TEST +- mzName: CD_VDLM_ttbs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_VDLM_ttbs TEST +- mzName: CD_VDLM_ttbs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_VDLM_ttbs TEST +- mzName: CD_VDLM_ttbs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VDLM_ttbs/dashboard/default.json b/BMW-Dynatrace-config/CD_VDLM_ttbs/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/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_ttbs/management-zone/README.md b/BMW-Dynatrace-config/CD_VDLM_ttbs/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/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_ttbs/management-zone/default.json b/BMW-Dynatrace-config/CD_VDLM_ttbs/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/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_ttbs/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VDLM_ttbs/management-zone/management-zone.yaml new file mode 100644 index 00000000..1a36d0a3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_VDLM_ttbs +- compassIDs: \"compass-id:ttbs\" diff --git a/BMW-Dynatrace-config/CD_VDLM_ttbs/notification/README.md b/BMW-Dynatrace-config/CD_VDLM_ttbs/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/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_ttbs/notification/email.json b/BMW-Dynatrace-config/CD_VDLM_ttbs/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/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_ttbs/notification/itsm.json b/BMW-Dynatrace-config/CD_VDLM_ttbs/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/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_ttbs/notification/msTeams.json b/BMW-Dynatrace-config/CD_VDLM_ttbs/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/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_ttbs/notification/notification.yaml b/BMW-Dynatrace-config/CD_VDLM_ttbs/notification/notification.yaml new file mode 100644 index 00000000..27cd4f6e --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/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_ttbs PROD +- alertingProfile: CD_VDLM_ttbs/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_VDLM_ttbs PROD +- alertingProfile: CD_VDLM_ttbs/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_VDLM_ttbs PROD +- alertingProfile: CD_VDLM_ttbs/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_VDLM_ttbs INT +- alertingProfile: CD_VDLM_ttbs/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_VDLM_ttbs INT +- alertingProfile: CD_VDLM_ttbs/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_VDLM_ttbs INT +- alertingProfile: CD_VDLM_ttbs/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_VDLM_ttbs ITSM PROD +- alertingProfile: CD_VDLM_ttbs/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_VDLM_ttbs ITSM PROD +- alertingProfile: CD_VDLM_ttbs/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_VDLM_ttbs ITSM PROD +- alertingProfile: CD_VDLM_ttbs/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_VDLM_ttbs ITSM INT +- alertingProfile: CD_VDLM_ttbs/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_VDLM_ttbs ITSM INT +- alertingProfile: CD_VDLM_ttbs/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_VDLM_ttbs ITSM INT +- alertingProfile: CD_VDLM_ttbs/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VDLM_ttbs/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VDLM_ttbs/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/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_ttbs/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VDLM_ttbs/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/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_ttbs/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VDLM_ttbs/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..72a03b04 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VDLM_ttbs/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_VDLM_ttbs - +- mzName: CD_VDLM_ttbs/management-zone/CDnewComponentTag.name +- mzId: CD_VDLM_ttbs/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file