diff --git a/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..75eb5fd4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/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_InfotainmentInCarExperienceServices PROD +- mzId: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: CD_InfotainmentInCarExperienceServices PROD +- mzId: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: CD_InfotainmentInCarExperienceServices PROD +- mzId: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: CD_InfotainmentInCarExperienceServices INT +- mzId: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: CD_InfotainmentInCarExperienceServices INT +- mzId: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: CD_InfotainmentInCarExperienceServices INT +- mzId: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/alerting-profile/default.json b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/alerting-profile/default.json new file mode 100644 index 00000000..bb81115c --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/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_InfotainmentInCarExperienceServices/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/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_InfotainmentInCarExperienceServices/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/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_InfotainmentInCarExperienceServices/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/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_InfotainmentInCarExperienceServices/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/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_InfotainmentInCarExperienceServices/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/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_InfotainmentInCarExperienceServices/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..fb9502e8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/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_InfotainmentInCarExperienceServices/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/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_InfotainmentInCarExperienceServices/custom-service-java/README.md b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/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_InfotainmentInCarExperienceServices/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/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_InfotainmentInCarExperienceServices/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/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_InfotainmentInCarExperienceServices/dashboard/README.md b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/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_InfotainmentInCarExperienceServices/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/dashboard/dashboard.yaml new file mode 100644 index 00000000..ebce24f9 --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/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_InfotainmentInCarExperienceServices PROD +- mzName: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.name +- mzId: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: CD_InfotainmentInCarExperienceServices PROD +- mzName: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.name +- mzId: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: CD_InfotainmentInCarExperienceServices PROD +- mzName: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.name +- mzId: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: CD_InfotainmentInCarExperienceServices PROD +- mzName: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.name +- mzId: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: CD_InfotainmentInCarExperienceServices E2E +- mzName: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.name +- mzId: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: CD_InfotainmentInCarExperienceServices E2E +- mzName: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.name +- mzId: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: CD_InfotainmentInCarExperienceServices E2E +- mzName: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.name +- mzId: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: CD_InfotainmentInCarExperienceServices E2E +- mzName: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.name +- mzId: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: CD_InfotainmentInCarExperienceServices INT +- mzName: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.name +- mzId: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: CD_InfotainmentInCarExperienceServices INT +- mzName: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.name +- mzId: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: CD_InfotainmentInCarExperienceServices INT +- mzName: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.name +- mzId: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: CD_InfotainmentInCarExperienceServices INT +- mzName: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.name +- mzId: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: CD_InfotainmentInCarExperienceServices TEST +- mzName: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.name +- mzId: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: CD_InfotainmentInCarExperienceServices TEST +- mzName: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.name +- mzId: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: CD_InfotainmentInCarExperienceServices TEST +- mzName: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.name +- mzId: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: CD_InfotainmentInCarExperienceServices TEST +- mzName: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.name +- mzId: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/dashboard/default.json b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/dashboard/default.json new file mode 100644 index 00000000..189767ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/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_InfotainmentInCarExperienceServices/management-zone/README.md b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/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_InfotainmentInCarExperienceServices/management-zone/default.json b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/management-zone/default.json new file mode 100644 index 00000000..fc96de39 --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/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_InfotainmentInCarExperienceServices/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/management-zone/management-zone.yaml new file mode 100644 index 00000000..f921bcde --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_InfotainmentInCarExperienceServices +- compassIDs: \"compass-id:ambient-music\",\"compass-id:festive-mode\" diff --git a/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/notification/README.md b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/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_InfotainmentInCarExperienceServices/notification/email.json b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/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_InfotainmentInCarExperienceServices/notification/itsm.json b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/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_InfotainmentInCarExperienceServices/notification/msTeams.json b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/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_InfotainmentInCarExperienceServices/notification/notification.yaml b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/notification/notification.yaml new file mode 100644 index 00000000..4b796d77 --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/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_InfotainmentInCarExperienceServices PROD +- alertingProfile: CD_InfotainmentInCarExperienceServices/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_InfotainmentInCarExperienceServices PROD +- alertingProfile: CD_InfotainmentInCarExperienceServices/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_InfotainmentInCarExperienceServices PROD +- alertingProfile: CD_InfotainmentInCarExperienceServices/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_InfotainmentInCarExperienceServices INT +- alertingProfile: CD_InfotainmentInCarExperienceServices/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_InfotainmentInCarExperienceServices INT +- alertingProfile: CD_InfotainmentInCarExperienceServices/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_InfotainmentInCarExperienceServices INT +- alertingProfile: CD_InfotainmentInCarExperienceServices/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_InfotainmentInCarExperienceServices ITSM PROD +- alertingProfile: CD_InfotainmentInCarExperienceServices/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_InfotainmentInCarExperienceServices ITSM PROD +- alertingProfile: CD_InfotainmentInCarExperienceServices/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_InfotainmentInCarExperienceServices ITSM PROD +- alertingProfile: CD_InfotainmentInCarExperienceServices/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_InfotainmentInCarExperienceServices ITSM INT +- alertingProfile: CD_InfotainmentInCarExperienceServices/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_InfotainmentInCarExperienceServices ITSM INT +- alertingProfile: CD_InfotainmentInCarExperienceServices/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_InfotainmentInCarExperienceServices ITSM INT +- alertingProfile: CD_InfotainmentInCarExperienceServices/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/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_InfotainmentInCarExperienceServices/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/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_InfotainmentInCarExperienceServices/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..bfd5f856 --- /dev/null +++ b/BMW-Dynatrace-config/CD_InfotainmentInCarExperienceServices/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_InfotainmentInCarExperienceServices - +- mzName: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.name +- mzId: CD_InfotainmentInCarExperienceServices/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_MSGSVC/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_MSGSVC/alerting-profile/alerting-profile.yaml index 4ce191f1..acb15c14 100644 --- a/BMW-Dynatrace-config/CD_MSGSVC/alerting-profile/alerting-profile.yaml +++ b/BMW-Dynatrace-config/CD_MSGSVC/alerting-profile/alerting-profile.yaml @@ -1,43 +1,37 @@ config: -- CDMSGSVC: default.json +- CDnewComponentTag: default.json #Prod alerting profiles for EMEA/NA/CN -CDMSGSVC.EMEA-Prod: +CDnewComponentTag.EMEA-Prod: - name: CD_MSGSVC PROD -- tag: MSGSVC -- mzId: CD_MSGSVC/management-zone/CDMSGSVC.id +- mzId: CD_MSGSVC/management-zone/CDnewComponentTag.id - env: PROD - skipDeployment: "false" -CDMSGSVC.NA-Prod: +CDnewComponentTag.NA-Prod: - name: CD_MSGSVC PROD -- tag: MSGSVC -- mzId: CD_MSGSVC/management-zone/CDMSGSVC.id +- mzId: CD_MSGSVC/management-zone/CDnewComponentTag.id - env: PROD - skipDeployment: "false" -CDMSGSVC.CN-Prod: +CDnewComponentTag.CN-Prod: - name: CD_MSGSVC PROD -- tag: MSGSVC -- mzId: CD_MSGSVC/management-zone/CDMSGSVC.id +- mzId: CD_MSGSVC/management-zone/CDnewComponentTag.id - env: PROD - skipDeployment: "false" #INT alerting profiles for EMEA/NA/CN -CDMSGSVC.EMEA-PreProd: +CDnewComponentTag.EMEA-PreProd: - name: CD_MSGSVC INT -- tag: MSGSVC -- mzId: CD_MSGSVC/management-zone/CDMSGSVC.id +- mzId: CD_MSGSVC/management-zone/CDnewComponentTag.id - env: INT - skipDeployment: "false" -CDMSGSVC.NA-PreProd: +CDnewComponentTag.NA-PreProd: - name: CD_MSGSVC INT -- tag: MSGSVC -- mzId: CD_MSGSVC/management-zone/CDMSGSVC.id +- mzId: CD_MSGSVC/management-zone/CDnewComponentTag.id - env: INT - skipDeployment: "false" -CDMSGSVC.CN-PreProd: +CDnewComponentTag.CN-PreProd: - name: CD_MSGSVC INT -- tag: MSGSVC -- mzId: CD_MSGSVC/management-zone/CDMSGSVC.id +- mzId: CD_MSGSVC/management-zone/CDnewComponentTag.id - env: INT - skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_MSGSVC/alerting-profile/default.json b/BMW-Dynatrace-config/CD_MSGSVC/alerting-profile/default.json index 681a4c64..bb81115c 100644 --- a/BMW-Dynatrace-config/CD_MSGSVC/alerting-profile/default.json +++ b/BMW-Dynatrace-config/CD_MSGSVC/alerting-profile/default.json @@ -10,11 +10,6 @@ "tagFilter": { "includeMode": "INCLUDE_ALL", "tagFilters": [ - { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, { "context": "CONTEXTLESS", "key": "Environment", @@ -29,11 +24,6 @@ "tagFilter": { "includeMode": "INCLUDE_ALL", "tagFilters": [ - { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, { "context": "CONTEXTLESS", "key": "Environment", @@ -48,11 +38,6 @@ "tagFilter": { "includeMode": "INCLUDE_ALL", "tagFilters": [ - { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, { "context": "CONTEXTLESS", "key": "Environment", @@ -67,11 +52,6 @@ "tagFilter": { "includeMode": "INCLUDE_ALL", "tagFilters": [ - { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, { "context": "CONTEXTLESS", "key": "Environment", @@ -86,11 +66,6 @@ "tagFilter": { "includeMode": "INCLUDE_ALL", "tagFilters": [ - { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, { "context": "CONTEXTLESS", "key": "Environment", diff --git a/BMW-Dynatrace-config/CD_MSGSVC/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_MSGSVC/conditional-naming-processgroup/conditional-naming-processgroup.yaml index 601c6f96..fb9502e8 100644 --- a/BMW-Dynatrace-config/CD_MSGSVC/conditional-naming-processgroup/conditional-naming-processgroup.yaml +++ b/BMW-Dynatrace-config/CD_MSGSVC/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -1,8 +1,7 @@ config: -- CDMSGSVC: template.json +- CDnewComponentTag: template.json -CDMSGSVC: +CDnewComponentTag: - name: MyProcessNamingRule - nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" -- tag: MSGSVC - skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_MSGSVC/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_MSGSVC/conditional-naming-service/conditional-naming-service.yaml index 601c6f96..fb9502e8 100644 --- a/BMW-Dynatrace-config/CD_MSGSVC/conditional-naming-service/conditional-naming-service.yaml +++ b/BMW-Dynatrace-config/CD_MSGSVC/conditional-naming-service/conditional-naming-service.yaml @@ -1,8 +1,7 @@ config: -- CDMSGSVC: template.json +- CDnewComponentTag: template.json -CDMSGSVC: +CDnewComponentTag: - name: MyProcessNamingRule - nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" -- tag: MSGSVC - skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_MSGSVC/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_MSGSVC/dashboard/dashboard.yaml index 5710cc48..6f09f47b 100644 --- a/BMW-Dynatrace-config/CD_MSGSVC/dashboard/dashboard.yaml +++ b/BMW-Dynatrace-config/CD_MSGSVC/dashboard/dashboard.yaml @@ -1,125 +1,109 @@ config: -- CDMSGSVC-PROD: default.json -- CDMSGSVC-E2E: default.json -- CDMSGSVC-INT: default.json -- CDMSGSVC-TEST: default.json +- CDnewComponentTag-PROD: default.json +- CDnewComponentTag-E2E: default.json +- CDnewComponentTag-INT: default.json +- CDnewComponentTag-TEST: default.json #PROD dashboards for EMEA/NA/CN Prod -CDMSGSVC-PROD: +CDnewComponentTag-PROD: - name: CD_MSGSVC PROD -- mzName: CD_MSGSVC/management-zone/CDMSGSVC.name -- mzId: CD_MSGSVC/management-zone/CDMSGSVC.id -- tag: MSGSVC +- mzName: CD_MSGSVC/management-zone/CDnewComponentTag.name +- mzId: CD_MSGSVC/management-zone/CDnewComponentTag.id - env: PROD - skipDeployment: "true" -CDMSGSVC-PROD.EMEA-Prod: +CDnewComponentTag-PROD.EMEA-Prod: - name: CD_MSGSVC PROD -- mzName: CD_MSGSVC/management-zone/CDMSGSVC.name -- mzId: CD_MSGSVC/management-zone/CDMSGSVC.id -- tag: MSGSVC +- mzName: CD_MSGSVC/management-zone/CDnewComponentTag.name +- mzId: CD_MSGSVC/management-zone/CDnewComponentTag.id - env: PROD - skipDeployment: "false" -CDMSGSVC-PROD.NA-Prod: +CDnewComponentTag-PROD.NA-Prod: - name: CD_MSGSVC PROD -- mzName: CD_MSGSVC/management-zone/CDMSGSVC.name -- mzId: CD_MSGSVC/management-zone/CDMSGSVC.id -- tag: MSGSVC +- mzName: CD_MSGSVC/management-zone/CDnewComponentTag.name +- mzId: CD_MSGSVC/management-zone/CDnewComponentTag.id - env: PROD - skipDeployment: "false" -CDMSGSVC-PROD.CN-Prod: +CDnewComponentTag-PROD.CN-Prod: - name: CD_MSGSVC PROD -- mzName: CD_MSGSVC/management-zone/CDMSGSVC.name -- mzId: CD_MSGSVC/management-zone/CDMSGSVC.id -- tag: MSGSVC +- mzName: CD_MSGSVC/management-zone/CDnewComponentTag.name +- mzId: CD_MSGSVC/management-zone/CDnewComponentTag.id - env: PROD - skipDeployment: "false" #E2E dashboards for EMEA/NA/CN Prod -CDMSGSVC-E2E: +CDnewComponentTag-E2E: - name: CD_MSGSVC E2E -- mzName: CD_MSGSVC/management-zone/CDMSGSVC.name -- mzId: CD_MSGSVC/management-zone/CDMSGSVC.id -- tag: MSGSVC +- mzName: CD_MSGSVC/management-zone/CDnewComponentTag.name +- mzId: CD_MSGSVC/management-zone/CDnewComponentTag.id - env: E2E - skipDeployment: "true" -CDMSGSVC-E2E.EMEA-Prod: +CDnewComponentTag-E2E.EMEA-Prod: - name: CD_MSGSVC E2E -- mzName: CD_MSGSVC/management-zone/CDMSGSVC.name -- mzId: CD_MSGSVC/management-zone/CDMSGSVC.id -- tag: MSGSVC +- mzName: CD_MSGSVC/management-zone/CDnewComponentTag.name +- mzId: CD_MSGSVC/management-zone/CDnewComponentTag.id - env: E2E - skipDeployment: "false" -CDMSGSVC-E2E.NA-Prod: +CDnewComponentTag-E2E.NA-Prod: - name: CD_MSGSVC E2E -- mzName: CD_MSGSVC/management-zone/CDMSGSVC.name -- mzId: CD_MSGSVC/management-zone/CDMSGSVC.id -- tag: MSGSVC +- mzName: CD_MSGSVC/management-zone/CDnewComponentTag.name +- mzId: CD_MSGSVC/management-zone/CDnewComponentTag.id - env: E2E - skipDeployment: "false" -CDMSGSVC-E2E.CN-Prod: +CDnewComponentTag-E2E.CN-Prod: - name: CD_MSGSVC E2E -- mzName: CD_MSGSVC/management-zone/CDMSGSVC.name -- mzId: CD_MSGSVC/management-zone/CDMSGSVC.id -- tag: MSGSVC +- mzName: CD_MSGSVC/management-zone/CDnewComponentTag.name +- mzId: CD_MSGSVC/management-zone/CDnewComponentTag.id - env: E2E - skipDeployment: "false" #INT dashboards for EMEA/NA/CN PreProd -CDMSGSVC-INT: +CDnewComponentTag-INT: - name: CD_MSGSVC INT -- mzName: CD_MSGSVC/management-zone/CDMSGSVC.name -- mzId: CD_MSGSVC/management-zone/CDMSGSVC.id -- tag: MSGSVC +- mzName: CD_MSGSVC/management-zone/CDnewComponentTag.name +- mzId: CD_MSGSVC/management-zone/CDnewComponentTag.id - env: INT - skipDeployment: "true" -CDMSGSVC-INT.EMEA-PreProd: +CDnewComponentTag-INT.EMEA-PreProd: - name: CD_MSGSVC INT -- mzName: CD_MSGSVC/management-zone/CDMSGSVC.name -- mzId: CD_MSGSVC/management-zone/CDMSGSVC.id -- tag: MSGSVC +- mzName: CD_MSGSVC/management-zone/CDnewComponentTag.name +- mzId: CD_MSGSVC/management-zone/CDnewComponentTag.id - env: INT - skipDeployment: "false" -CDMSGSVC-INT.NA-PreProd: +CDnewComponentTag-INT.NA-PreProd: - name: CD_MSGSVC INT -- mzName: CD_MSGSVC/management-zone/CDMSGSVC.name -- mzId: CD_MSGSVC/management-zone/CDMSGSVC.id -- tag: MSGSVC +- mzName: CD_MSGSVC/management-zone/CDnewComponentTag.name +- mzId: CD_MSGSVC/management-zone/CDnewComponentTag.id - env: INT - skipDeployment: "false" -CDMSGSVC-INT.CN-PreProd: +CDnewComponentTag-INT.CN-PreProd: - name: CD_MSGSVC INT -- mzName: CD_MSGSVC/management-zone/CDMSGSVC.name -- mzId: CD_MSGSVC/management-zone/CDMSGSVC.id -- tag: MSGSVC +- mzName: CD_MSGSVC/management-zone/CDnewComponentTag.name +- mzId: CD_MSGSVC/management-zone/CDnewComponentTag.id - env: INT - skipDeployment: "false" #TEST dashboards for EMEA/NA/CN PreProd -CDMSGSVC-TEST: +CDnewComponentTag-TEST: - name: CD_MSGSVC TEST -- mzName: CD_MSGSVC/management-zone/CDMSGSVC.name -- mzId: CD_MSGSVC/management-zone/CDMSGSVC.id -- tag: MSGSVC +- mzName: CD_MSGSVC/management-zone/CDnewComponentTag.name +- mzId: CD_MSGSVC/management-zone/CDnewComponentTag.id - env: TEST - skipDeployment: "true" -CDMSGSVC-TEST.EMEA-PreProd: +CDnewComponentTag-TEST.EMEA-PreProd: - name: CD_MSGSVC TEST -- mzName: CD_MSGSVC/management-zone/CDMSGSVC.name -- mzId: CD_MSGSVC/management-zone/CDMSGSVC.id -- tag: MSGSVC +- mzName: CD_MSGSVC/management-zone/CDnewComponentTag.name +- mzId: CD_MSGSVC/management-zone/CDnewComponentTag.id - env: TEST - skipDeployment: "false" -CDMSGSVC-TEST.NA-PreProd: +CDnewComponentTag-TEST.NA-PreProd: - name: CD_MSGSVC TEST -- mzName: CD_MSGSVC/management-zone/CDMSGSVC.name -- mzId: CD_MSGSVC/management-zone/CDMSGSVC.id -- tag: MSGSVC +- mzName: CD_MSGSVC/management-zone/CDnewComponentTag.name +- mzId: CD_MSGSVC/management-zone/CDnewComponentTag.id - env: TEST - skipDeployment: "false" -CDMSGSVC-TEST.CN-PreProd: +CDnewComponentTag-TEST.CN-PreProd: - name: CD_MSGSVC TEST -- mzName: CD_MSGSVC/management-zone/CDMSGSVC.name -- mzId: CD_MSGSVC/management-zone/CDMSGSVC.id -- tag: MSGSVC +- mzName: CD_MSGSVC/management-zone/CDnewComponentTag.name +- mzId: CD_MSGSVC/management-zone/CDnewComponentTag.id - env: TEST - skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_MSGSVC/dashboard/default.json b/BMW-Dynatrace-config/CD_MSGSVC/dashboard/default.json index ef07d18c..189767ed 100644 --- a/BMW-Dynatrace-config/CD_MSGSVC/dashboard/default.json +++ b/BMW-Dynatrace-config/CD_MSGSVC/dashboard/default.json @@ -13,7 +13,7 @@ "timeframe": "-24h to now" }, "tags": [ - "{{.tag}}" + "{{.mzName}}" ], "preset": true }, @@ -28,7 +28,12 @@ "width": 1064, "height": 304 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "MIXED", "customName": "Failure rate (HTTP 4xx/5xx errors)", @@ -72,8 +77,7 @@ "filtersPerEntityType": { "SERVICE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -106,7 +110,12 @@ "width": 1064, "height": 38 }, - "tileFilter": {} + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } }, { "name": "Markdown", @@ -131,7 +140,12 @@ "width": 1064, "height": 304 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "MIXED", "customName": "Response time, Request Count and Number of Errors", @@ -189,8 +203,7 @@ "filtersPerEntityType": { "SERVICE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -219,7 +232,12 @@ "width": 190, "height": 152 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "DATABASE", "customName": "Databases", @@ -233,8 +251,7 @@ "filtersPerEntityType": { "DATABASE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -251,7 +268,12 @@ "width": 190, "height": 152 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "SERVICE", "customName": "Services", @@ -265,8 +287,7 @@ "filtersPerEntityType": { "SERVICE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -283,7 +304,12 @@ "width": 190, "height": 152 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "HOST", "customName": "Hosts", @@ -297,8 +323,7 @@ "filtersPerEntityType": { "HOST": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } diff --git a/BMW-Dynatrace-config/CD_MSGSVC/management-zone/default.json b/BMW-Dynatrace-config/CD_MSGSVC/management-zone/default.json index bffa0c3b..fc96de39 100644 --- a/BMW-Dynatrace-config/CD_MSGSVC/management-zone/default.json +++ b/BMW-Dynatrace-config/CD_MSGSVC/management-zone/default.json @@ -1,114 +1,23 @@ { "dimensionalRules": [], "name": "{{.name}}", - "rules": [ - { - "conditions": [ + "entitySelectorBasedRules": [ { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - }, - { - "conditions": [ + "enabled": true, + "entitySelector": "type(Service),tag({{.compassIDs}})" + }, { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - } - }, - "key": { - "attribute": "PROCESS_GROUP_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "PROCESS_GROUP_TO_HOST" - ], - "type": "PROCESS_GROUP" - }, - { - "conditions": [ + "enabled": true, + "entitySelector": "type(SERVICE),databaseName.exists(),toRelationship.calls(type(SERVICE),tag({{.compassIDs}}))" + }, { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - } - }, - "key": { - "attribute": "HOST_TAGS" - } - } + "enabled": true, + "entitySelector": "type(PROCESS_GROUP_INSTANCE),tag({{.compassIDs}})" + }, + { + "enabled": true, + "entitySelector": "type(HOST),tag({{.compassIDs}})" + } ], - "enabled": true, - "type": "HOST" - }, - { - "conditions": [ - { - "comparisonInfo": { - "caseSensitive": true, - "negate": false, - "operator": "CONTAINS", - "type": "STRING", - "value": "{{.tag}}" - }, - "key": { - "attribute": "CLOUD_APPLICATION_NAMESPACE_NAME" - } - } - ], - "enabled": true, - "propagationTypes": [], - "type": "CLOUD_APPLICATION_NAMESPACE" - }, - { - "conditions": [ - { - "comparisonInfo": { - "caseSensitive": true, - "negate": false, - "operator": "CONTAINS", - "type": "STRING", - "value": "{{.tag}}" - }, - "key": { - "attribute": "CLOUD_APPLICATION_NAME" - } - } - ], - "enabled": true, - "propagationTypes": [], - "type": "CLOUD_APPLICATION" - } - ] + "rules": [] } \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_MSGSVC/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_MSGSVC/management-zone/management-zone.yaml index 0ffefabb..3c737c2e 100644 --- a/BMW-Dynatrace-config/CD_MSGSVC/management-zone/management-zone.yaml +++ b/BMW-Dynatrace-config/CD_MSGSVC/management-zone/management-zone.yaml @@ -1,6 +1,6 @@ config: -- CDMSGSVC: default.json +- CDnewComponentTag: default.json -CDMSGSVC: +CDnewComponentTag: - name: CD_MSGSVC -- tag: MSGSVC +- compassIDs: \"compass-id:msgsvc\" diff --git a/BMW-Dynatrace-config/CD_MSGSVC/notification/notification.yaml b/BMW-Dynatrace-config/CD_MSGSVC/notification/notification.yaml index 4c18b3b2..ded39418 100644 --- a/BMW-Dynatrace-config/CD_MSGSVC/notification/notification.yaml +++ b/BMW-Dynatrace-config/CD_MSGSVC/notification/notification.yaml @@ -1,102 +1,102 @@ config: -- CDMSGSVC: msTeams.json -- CDMSGSVCITSM: itsm.json +- CDnewComponentTag: msTeams.json +- CDnewComponentTagITSM: itsm.json # Notification System for EMEA/NA/CN Prod msTeams -CDMSGSVC.EMEA-Prod: +CDnewComponentTag.EMEA-Prod: - name: CD_MSGSVC PROD -- alertingProfile: CD_MSGSVC/alerting-profile/CDMSGSVC.id +- alertingProfile: CD_MSGSVC/alerting-profile/CDnewComponentTag.id - webhook: https://empty - skipDeployment: "true" -CDMSGSVC.NA-Prod: +CDnewComponentTag.NA-Prod: - name: CD_MSGSVC PROD -- alertingProfile: CD_MSGSVC/alerting-profile/CDMSGSVC.id +- alertingProfile: CD_MSGSVC/alerting-profile/CDnewComponentTag.id - webhook: https://empty - skipDeployment: "true" -CDMSGSVC.CN-Prod: +CDnewComponentTag.CN-Prod: - name: CD_MSGSVC PROD -- alertingProfile: CD_MSGSVC/alerting-profile/CDMSGSVC.id +- alertingProfile: CD_MSGSVC/alerting-profile/CDnewComponentTag.id - webhook: https://empty - skipDeployment: "true" # Notification System for EMEA/NA/CN PreProd msTeams -CDMSGSVC.EMEA-PreProd: +CDnewComponentTag.EMEA-PreProd: - name: CD_MSGSVC INT -- alertingProfile: CD_MSGSVC/alerting-profile/CDMSGSVC.id +- alertingProfile: CD_MSGSVC/alerting-profile/CDnewComponentTag.id - webhook: https://empty - skipDeployment: "true" -CDMSGSVC.NA-PreProd: +CDnewComponentTag.NA-PreProd: - name: CD_MSGSVC INT -- alertingProfile: CD_MSGSVC/alerting-profile/CDMSGSVC.id +- alertingProfile: CD_MSGSVC/alerting-profile/CDnewComponentTag.id - webhook: https://empty - skipDeployment: "true" -CDMSGSVC.CN-PreProd: +CDnewComponentTag.CN-PreProd: - name: CD_MSGSVC INT -- alertingProfile: CD_MSGSVC/alerting-profile/CDMSGSVC.id +- alertingProfile: CD_MSGSVC/alerting-profile/CDnewComponentTag.id - webhook: https://empty - skipDeployment: "true" # Notification System for EMEA/NA/CN Prod ITSM -CDMSGSVCITSM.EMEA-Prod: +CDnewComponentTagITSM.EMEA-Prod: - name: CD_MSGSVC ITSM PROD -- alertingProfile: CD_MSGSVC/alerting-profile/CDMSGSVC.id +- alertingProfile: CD_MSGSVC/alerting-profile/CDnewComponentTag.id - webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 - contractid: "10APP11906401" - appdid: "TEST123" -- mzName: CD_MSGSVC/management-zone/CDMSGSVC.id +- mzName: CD_MSGSVC/management-zone/CDnewComponentTag.id - DTEnvironment: https://xxu26128.live.dynatrace.com - skipDeployment: "true" -CDMSGSVCITSM.NA-Prod: +CDnewComponentTagITSM.NA-Prod: - name: CD_MSGSVC ITSM PROD -- alertingProfile: CD_MSGSVC/alerting-profile/CDMSGSVC.id +- alertingProfile: CD_MSGSVC/alerting-profile/CDnewComponentTag.id - webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 - contractid: "10APP11906401" - appdid: "TEST123" -- mzName: CD_MSGSVC/management-zone/CDMSGSVC.id +- mzName: CD_MSGSVC/management-zone/CDnewComponentTag.id - DTEnvironment: https://xxu26128.live.dynatrace.com - skipDeployment: "true" -CDMSGSVCITSM.CN-Prod: +CDnewComponentTagITSM.CN-Prod: - name: CD_MSGSVC ITSM PROD -- alertingProfile: CD_MSGSVC/alerting-profile/CDMSGSVC.id +- alertingProfile: CD_MSGSVC/alerting-profile/CDnewComponentTag.id - webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 - contractid: "10APP11906401" - appdid: "TEST123" -- mzName: CD_MSGSVC/management-zone/CDMSGSVC.id +- mzName: CD_MSGSVC/management-zone/CDnewComponentTag.id - DTEnvironment: https://xxu26128.live.dynatrace.com - skipDeployment: "true" -CDMSGSVCITSM.EMEA-PreProd: +CDnewComponentTagITSM.EMEA-PreProd: - name: CD_MSGSVC ITSM INT -- alertingProfile: CD_MSGSVC/alerting-profile/CDMSGSVC.id +- alertingProfile: CD_MSGSVC/alerting-profile/CDnewComponentTag.id - webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 - contractid: "10APP11906401" - appdid: "TEST123" -- mzName: CD_MSGSVC/management-zone/CDMSGSVC.id +- mzName: CD_MSGSVC/management-zone/CDnewComponentTag.id - DTEnvironment: https://xxu26128.live.dynatrace.com - skipDeployment: "true" -CDMSGSVCITSM.NA-PreProd: +CDnewComponentTagITSM.NA-PreProd: - name: CD_MSGSVC ITSM INT -- alertingProfile: CD_MSGSVC/alerting-profile/CDMSGSVC.id +- alertingProfile: CD_MSGSVC/alerting-profile/CDnewComponentTag.id - webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 - contractid: "10APP11906401" - appdid: "TEST123" -- mzName: CD_MSGSVC/management-zone/CDMSGSVC.id +- mzName: CD_MSGSVC/management-zone/CDnewComponentTag.id - DTEnvironment: https://xxu26128.live.dynatrace.com - skipDeployment: "true" -CDMSGSVCITSM.CN-PreProd: +CDnewComponentTagITSM.CN-PreProd: - name: CD_MSGSVC ITSM INT -- alertingProfile: CD_MSGSVC/alerting-profile/CDMSGSVC.id +- alertingProfile: CD_MSGSVC/alerting-profile/CDnewComponentTag.id - webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 - contractid: "10APP11906401" - appdid: "TEST123" -- mzName: CD_MSGSVC/management-zone/CDMSGSVC.id +- mzName: CD_MSGSVC/management-zone/CDnewComponentTag.id - DTEnvironment: https://xxu26128.live.dynatrace.com - skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_MSGSVC/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_MSGSVC/synthetic-monitor/synthetic-monitor.yaml index ce190ee9..bf007c7f 100644 --- a/BMW-Dynatrace-config/CD_MSGSVC/synthetic-monitor/synthetic-monitor.yaml +++ b/BMW-Dynatrace-config/CD_MSGSVC/synthetic-monitor/synthetic-monitor.yaml @@ -1,10 +1,10 @@ config: -- MSGSVC: default.json +- newComponentTag: default.json -MSGSVC: +newComponentTag: - name: CD_MSGSVC - -- mzName: CD_MSGSVC/management-zone/CDMSGSVC.name -- mzId: CD_MSGSVC/management-zone/CDMSGSVC.id +- mzName: CD_MSGSVC/management-zone/CDnewComponentTag.name +- mzId: CD_MSGSVC/management-zone/CDnewComponentTag.id - endpoint: - location: - skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/TEST_RF/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/TEST_RF/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..bdda1d22 --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDnewComponentTag: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-Prod: +- name: TEST_RF PROD +- tag: newComponentTag +- mzId: TEST_RF/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.NA-Prod: +- name: TEST_RF PROD +- tag: newComponentTag +- mzId: TEST_RF/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" +CDnewComponentTag.CN-Prod: +- name: TEST_RF PROD +- tag: newComponentTag +- mzId: TEST_RF/management-zone/CDnewComponentTag.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDnewComponentTag.EMEA-PreProd: +- name: TEST_RF INT +- tag: newComponentTag +- mzId: TEST_RF/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.NA-PreProd: +- name: TEST_RF INT +- tag: newComponentTag +- mzId: TEST_RF/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" +CDnewComponentTag.CN-PreProd: +- name: TEST_RF INT +- tag: newComponentTag +- mzId: TEST_RF/management-zone/CDnewComponentTag.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/TEST_RF/alerting-profile/default.json b/BMW-Dynatrace-config/TEST_RF/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/TEST_RF/calculated-metrics-service/README.md b/BMW-Dynatrace-config/TEST_RF/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/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/TEST_RF/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/TEST_RF/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/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/TEST_RF/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/TEST_RF/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..be5821ec --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDnewComponentTag: template.json + +CDnewComponentTag: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: newComponentTag +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/TEST_RF/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/TEST_RF/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/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/TEST_RF/conditional-naming-service/README.md b/BMW-Dynatrace-config/TEST_RF/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/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/TEST_RF/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/TEST_RF/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..be5821ec --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDnewComponentTag: template.json + +CDnewComponentTag: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: newComponentTag +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/TEST_RF/conditional-naming-service/template.json b/BMW-Dynatrace-config/TEST_RF/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/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/TEST_RF/custom-service-java/README.md b/BMW-Dynatrace-config/TEST_RF/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/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/TEST_RF/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/TEST_RF/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/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/TEST_RF/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/TEST_RF/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/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/TEST_RF/dashboard/README.md b/BMW-Dynatrace-config/TEST_RF/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/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/TEST_RF/dashboard/dashboard.yaml b/BMW-Dynatrace-config/TEST_RF/dashboard/dashboard.yaml new file mode 100644 index 00000000..88b3ee1f --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/dashboard/dashboard.yaml @@ -0,0 +1,125 @@ +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: TEST_RF PROD +- mzName: TEST_RF/management-zone/CDnewComponentTag.name +- mzId: TEST_RF/management-zone/CDnewComponentTag.id +- tag: newComponentTag +- env: PROD +- skipDeployment: "true" +CDnewComponentTag-PROD.EMEA-Prod: +- name: TEST_RF PROD +- mzName: TEST_RF/management-zone/CDnewComponentTag.name +- mzId: TEST_RF/management-zone/CDnewComponentTag.id +- tag: newComponentTag +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.NA-Prod: +- name: TEST_RF PROD +- mzName: TEST_RF/management-zone/CDnewComponentTag.name +- mzId: TEST_RF/management-zone/CDnewComponentTag.id +- tag: newComponentTag +- env: PROD +- skipDeployment: "false" +CDnewComponentTag-PROD.CN-Prod: +- name: TEST_RF PROD +- mzName: TEST_RF/management-zone/CDnewComponentTag.name +- mzId: TEST_RF/management-zone/CDnewComponentTag.id +- tag: newComponentTag +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDnewComponentTag-E2E: +- name: TEST_RF E2E +- mzName: TEST_RF/management-zone/CDnewComponentTag.name +- mzId: TEST_RF/management-zone/CDnewComponentTag.id +- tag: newComponentTag +- env: E2E +- skipDeployment: "true" +CDnewComponentTag-E2E.EMEA-Prod: +- name: TEST_RF E2E +- mzName: TEST_RF/management-zone/CDnewComponentTag.name +- mzId: TEST_RF/management-zone/CDnewComponentTag.id +- tag: newComponentTag +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.NA-Prod: +- name: TEST_RF E2E +- mzName: TEST_RF/management-zone/CDnewComponentTag.name +- mzId: TEST_RF/management-zone/CDnewComponentTag.id +- tag: newComponentTag +- env: E2E +- skipDeployment: "false" +CDnewComponentTag-E2E.CN-Prod: +- name: TEST_RF E2E +- mzName: TEST_RF/management-zone/CDnewComponentTag.name +- mzId: TEST_RF/management-zone/CDnewComponentTag.id +- tag: newComponentTag +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-INT: +- name: TEST_RF INT +- mzName: TEST_RF/management-zone/CDnewComponentTag.name +- mzId: TEST_RF/management-zone/CDnewComponentTag.id +- tag: newComponentTag +- env: INT +- skipDeployment: "true" +CDnewComponentTag-INT.EMEA-PreProd: +- name: TEST_RF INT +- mzName: TEST_RF/management-zone/CDnewComponentTag.name +- mzId: TEST_RF/management-zone/CDnewComponentTag.id +- tag: newComponentTag +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.NA-PreProd: +- name: TEST_RF INT +- mzName: TEST_RF/management-zone/CDnewComponentTag.name +- mzId: TEST_RF/management-zone/CDnewComponentTag.id +- tag: newComponentTag +- env: INT +- skipDeployment: "false" +CDnewComponentTag-INT.CN-PreProd: +- name: TEST_RF INT +- mzName: TEST_RF/management-zone/CDnewComponentTag.name +- mzId: TEST_RF/management-zone/CDnewComponentTag.id +- tag: newComponentTag +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDnewComponentTag-TEST: +- name: TEST_RF TEST +- mzName: TEST_RF/management-zone/CDnewComponentTag.name +- mzId: TEST_RF/management-zone/CDnewComponentTag.id +- tag: newComponentTag +- env: TEST +- skipDeployment: "true" +CDnewComponentTag-TEST.EMEA-PreProd: +- name: TEST_RF TEST +- mzName: TEST_RF/management-zone/CDnewComponentTag.name +- mzId: TEST_RF/management-zone/CDnewComponentTag.id +- tag: newComponentTag +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.NA-PreProd: +- name: TEST_RF TEST +- mzName: TEST_RF/management-zone/CDnewComponentTag.name +- mzId: TEST_RF/management-zone/CDnewComponentTag.id +- tag: newComponentTag +- env: TEST +- skipDeployment: "false" +CDnewComponentTag-TEST.CN-PreProd: +- name: TEST_RF TEST +- mzName: TEST_RF/management-zone/CDnewComponentTag.name +- mzId: TEST_RF/management-zone/CDnewComponentTag.id +- tag: newComponentTag +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/TEST_RF/dashboard/default.json b/BMW-Dynatrace-config/TEST_RF/dashboard/default.json new file mode 100644 index 00000000..ef07d18c --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/dashboard/default.json @@ -0,0 +1,309 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.tag}}" + ], + "preset": true + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {} + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/TEST_RF/management-zone/README.md b/BMW-Dynatrace-config/TEST_RF/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/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/TEST_RF/management-zone/default.json b/BMW-Dynatrace-config/TEST_RF/management-zone/default.json new file mode 100644 index 00000000..bffa0c3b --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/management-zone/default.json @@ -0,0 +1,114 @@ +{ + "dimensionalRules": [], + "name": "{{.name}}", + "rules": [ + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "HOST_TAGS" + } + } + ], + "enabled": true, + "type": "HOST" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAMESPACE_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION_NAMESPACE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION" + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/TEST_RF/management-zone/management-zone.yaml b/BMW-Dynatrace-config/TEST_RF/management-zone/management-zone.yaml new file mode 100644 index 00000000..5d7a33d2 --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/management-zone/management-zone.yaml @@ -0,0 +1,7 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: TEST_RF +- tag: newComponentTag +- compassID1: diff --git a/BMW-Dynatrace-config/TEST_RF/notification/README.md b/BMW-Dynatrace-config/TEST_RF/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/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/TEST_RF/notification/email.json b/BMW-Dynatrace-config/TEST_RF/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/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/TEST_RF/notification/itsm.json b/BMW-Dynatrace-config/TEST_RF/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/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/TEST_RF/notification/msTeams.json b/BMW-Dynatrace-config/TEST_RF/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/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/TEST_RF/notification/notification.yaml b/BMW-Dynatrace-config/TEST_RF/notification/notification.yaml new file mode 100644 index 00000000..2bc8dc6e --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/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: TEST_RF PROD +- alertingProfile: TEST_RF/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: TEST_RF PROD +- alertingProfile: TEST_RF/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: TEST_RF PROD +- alertingProfile: TEST_RF/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: TEST_RF INT +- alertingProfile: TEST_RF/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: TEST_RF INT +- alertingProfile: TEST_RF/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: TEST_RF INT +- alertingProfile: TEST_RF/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: TEST_RF ITSM PROD +- alertingProfile: TEST_RF/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: TEST_RF/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: TEST_RF ITSM PROD +- alertingProfile: TEST_RF/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: TEST_RF/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: TEST_RF ITSM PROD +- alertingProfile: TEST_RF/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: TEST_RF/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: TEST_RF ITSM INT +- alertingProfile: TEST_RF/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: TEST_RF/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: TEST_RF ITSM INT +- alertingProfile: TEST_RF/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: TEST_RF/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: TEST_RF ITSM INT +- alertingProfile: TEST_RF/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: TEST_RF/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/TEST_RF/synthetic-monitor/README.md b/BMW-Dynatrace-config/TEST_RF/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/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/TEST_RF/synthetic-monitor/default.json b/BMW-Dynatrace-config/TEST_RF/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/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/TEST_RF/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/TEST_RF/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..3b642330 --- /dev/null +++ b/BMW-Dynatrace-config/TEST_RF/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: TEST_RF - +- mzName: TEST_RF/management-zone/CDnewComponentTag.name +- mzId: TEST_RF/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/onboard.sh b/onboard.sh index d9473bcc..6ba7f031 100755 --- a/onboard.sh +++ b/onboard.sh @@ -2,7 +2,7 @@ # Help command if [ "$1" == "-h" ]; then - echo "Usage: `basename $0` " + echo "Usage: `basename $0` " exit 0 fi @@ -28,6 +28,26 @@ declare -a config_arr=( #"anomaly-detection-metrics" ) + +IFS=',' +read -a compassIDs <<< $2 + + +separator="\\\\\"compass-id:" +joined="" +for item in "${compassIDs[@]}"; do +# printf "$item" + joined="$joined$separator$item" + separator="\\\\\",\\\\\"compass-id:" +done +lastdel="\\\\\"" +compassIDs_result="$joined$lastdel" + + + +#echo "Result: $compassIDs_result" + + for i in "${config_arr[@]}" do @@ -36,7 +56,8 @@ for i in "${config_arr[@]}" cp -R onboarding/CD_managementZone/$i BMW-Dynatrace-config/$1/ if [ -f "BMW-Dynatrace-config/$1/$i/$i.yaml" ]; then sed -i "s/CD_managementZone/$1/g" BMW-Dynatrace-config/$1/$i/$i.yaml - sed -i "s/newComponentTag/$2/g" BMW-Dynatrace-config/$1/$i/$i.yaml + sed -i "s/newCompassIds/$compassIDs_result/g" BMW-Dynatrace-config/$1/$i/$i.yaml + fi else echo "[$i] already exist, no changes applied" diff --git a/onboarding/CD_managementZone/alerting-profile/alerting-profile.yaml b/onboarding/CD_managementZone/alerting-profile/alerting-profile.yaml index 02d9748a..0cd69ee9 100644 --- a/onboarding/CD_managementZone/alerting-profile/alerting-profile.yaml +++ b/onboarding/CD_managementZone/alerting-profile/alerting-profile.yaml @@ -5,19 +5,16 @@ config: #Prod alerting profiles for EMEA/NA/CN CDnewComponentTag.EMEA-Prod: - name: CD_managementZone PROD -- tag: newComponentTag - mzId: CD_managementZone/management-zone/CDnewComponentTag.id - env: PROD - skipDeployment: "false" CDnewComponentTag.NA-Prod: - name: CD_managementZone PROD -- tag: newComponentTag - mzId: CD_managementZone/management-zone/CDnewComponentTag.id - env: PROD - skipDeployment: "false" CDnewComponentTag.CN-Prod: - name: CD_managementZone PROD -- tag: newComponentTag - mzId: CD_managementZone/management-zone/CDnewComponentTag.id - env: PROD - skipDeployment: "false" @@ -25,19 +22,16 @@ CDnewComponentTag.CN-Prod: #INT alerting profiles for EMEA/NA/CN CDnewComponentTag.EMEA-PreProd: - name: CD_managementZone INT -- tag: newComponentTag - mzId: CD_managementZone/management-zone/CDnewComponentTag.id - env: INT - skipDeployment: "false" CDnewComponentTag.NA-PreProd: - name: CD_managementZone INT -- tag: newComponentTag - mzId: CD_managementZone/management-zone/CDnewComponentTag.id - env: INT - skipDeployment: "false" CDnewComponentTag.CN-PreProd: - name: CD_managementZone INT -- tag: newComponentTag - mzId: CD_managementZone/management-zone/CDnewComponentTag.id - env: INT - skipDeployment: "false" \ No newline at end of file diff --git a/onboarding/CD_managementZone/alerting-profile/default.json b/onboarding/CD_managementZone/alerting-profile/default.json index 681a4c64..bb81115c 100644 --- a/onboarding/CD_managementZone/alerting-profile/default.json +++ b/onboarding/CD_managementZone/alerting-profile/default.json @@ -10,11 +10,6 @@ "tagFilter": { "includeMode": "INCLUDE_ALL", "tagFilters": [ - { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, { "context": "CONTEXTLESS", "key": "Environment", @@ -29,11 +24,6 @@ "tagFilter": { "includeMode": "INCLUDE_ALL", "tagFilters": [ - { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, { "context": "CONTEXTLESS", "key": "Environment", @@ -48,11 +38,6 @@ "tagFilter": { "includeMode": "INCLUDE_ALL", "tagFilters": [ - { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, { "context": "CONTEXTLESS", "key": "Environment", @@ -67,11 +52,6 @@ "tagFilter": { "includeMode": "INCLUDE_ALL", "tagFilters": [ - { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, { "context": "CONTEXTLESS", "key": "Environment", @@ -86,11 +66,6 @@ "tagFilter": { "includeMode": "INCLUDE_ALL", "tagFilters": [ - { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, { "context": "CONTEXTLESS", "key": "Environment", diff --git a/onboarding/CD_managementZone/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/onboarding/CD_managementZone/conditional-naming-processgroup/conditional-naming-processgroup.yaml index be5821ec..fb9502e8 100644 --- a/onboarding/CD_managementZone/conditional-naming-processgroup/conditional-naming-processgroup.yaml +++ b/onboarding/CD_managementZone/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -4,5 +4,4 @@ config: CDnewComponentTag: - name: MyProcessNamingRule - nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" -- tag: newComponentTag - skipDeployment: "true" diff --git a/onboarding/CD_managementZone/conditional-naming-service/conditional-naming-service.yaml b/onboarding/CD_managementZone/conditional-naming-service/conditional-naming-service.yaml index be5821ec..fb9502e8 100644 --- a/onboarding/CD_managementZone/conditional-naming-service/conditional-naming-service.yaml +++ b/onboarding/CD_managementZone/conditional-naming-service/conditional-naming-service.yaml @@ -4,5 +4,4 @@ config: CDnewComponentTag: - name: MyProcessNamingRule - nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" -- tag: newComponentTag - skipDeployment: "true" diff --git a/onboarding/CD_managementZone/dashboard/dashboard.yaml b/onboarding/CD_managementZone/dashboard/dashboard.yaml index 1b75b656..8aa0aaba 100644 --- a/onboarding/CD_managementZone/dashboard/dashboard.yaml +++ b/onboarding/CD_managementZone/dashboard/dashboard.yaml @@ -9,28 +9,24 @@ CDnewComponentTag-PROD: - name: CD_managementZone PROD - mzName: CD_managementZone/management-zone/CDnewComponentTag.name - mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag - env: PROD - skipDeployment: "true" CDnewComponentTag-PROD.EMEA-Prod: - name: CD_managementZone PROD - mzName: CD_managementZone/management-zone/CDnewComponentTag.name - mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag - env: PROD - skipDeployment: "false" CDnewComponentTag-PROD.NA-Prod: - name: CD_managementZone PROD - mzName: CD_managementZone/management-zone/CDnewComponentTag.name - mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag - env: PROD - skipDeployment: "false" CDnewComponentTag-PROD.CN-Prod: - name: CD_managementZone PROD - mzName: CD_managementZone/management-zone/CDnewComponentTag.name - mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag - env: PROD - skipDeployment: "false" @@ -39,28 +35,24 @@ CDnewComponentTag-E2E: - name: CD_managementZone E2E - mzName: CD_managementZone/management-zone/CDnewComponentTag.name - mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag - env: E2E - skipDeployment: "true" CDnewComponentTag-E2E.EMEA-Prod: - name: CD_managementZone E2E - mzName: CD_managementZone/management-zone/CDnewComponentTag.name - mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag - env: E2E - skipDeployment: "false" CDnewComponentTag-E2E.NA-Prod: - name: CD_managementZone E2E - mzName: CD_managementZone/management-zone/CDnewComponentTag.name - mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag - env: E2E - skipDeployment: "false" CDnewComponentTag-E2E.CN-Prod: - name: CD_managementZone E2E - mzName: CD_managementZone/management-zone/CDnewComponentTag.name - mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag - env: E2E - skipDeployment: "false" @@ -69,28 +61,24 @@ CDnewComponentTag-INT: - name: CD_managementZone INT - mzName: CD_managementZone/management-zone/CDnewComponentTag.name - mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag - env: INT - skipDeployment: "true" CDnewComponentTag-INT.EMEA-PreProd: - name: CD_managementZone INT - mzName: CD_managementZone/management-zone/CDnewComponentTag.name - mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag - env: INT - skipDeployment: "false" CDnewComponentTag-INT.NA-PreProd: - name: CD_managementZone INT - mzName: CD_managementZone/management-zone/CDnewComponentTag.name - mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag - env: INT - skipDeployment: "false" CDnewComponentTag-INT.CN-PreProd: - name: CD_managementZone INT - mzName: CD_managementZone/management-zone/CDnewComponentTag.name - mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag - env: INT - skipDeployment: "false" @@ -99,27 +87,23 @@ CDnewComponentTag-TEST: - name: CD_managementZone TEST - mzName: CD_managementZone/management-zone/CDnewComponentTag.name - mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag - env: TEST - skipDeployment: "true" CDnewComponentTag-TEST.EMEA-PreProd: - name: CD_managementZone TEST - mzName: CD_managementZone/management-zone/CDnewComponentTag.name - mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag - env: TEST - skipDeployment: "false" CDnewComponentTag-TEST.NA-PreProd: - name: CD_managementZone TEST - mzName: CD_managementZone/management-zone/CDnewComponentTag.name - mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag - env: TEST - skipDeployment: "false" CDnewComponentTag-TEST.CN-PreProd: - name: CD_managementZone TEST - mzName: CD_managementZone/management-zone/CDnewComponentTag.name - mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag - env: TEST - skipDeployment: "false" \ No newline at end of file diff --git a/onboarding/CD_managementZone/dashboard/default.json b/onboarding/CD_managementZone/dashboard/default.json index ef07d18c..189767ed 100644 --- a/onboarding/CD_managementZone/dashboard/default.json +++ b/onboarding/CD_managementZone/dashboard/default.json @@ -13,7 +13,7 @@ "timeframe": "-24h to now" }, "tags": [ - "{{.tag}}" + "{{.mzName}}" ], "preset": true }, @@ -28,7 +28,12 @@ "width": 1064, "height": 304 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "MIXED", "customName": "Failure rate (HTTP 4xx/5xx errors)", @@ -72,8 +77,7 @@ "filtersPerEntityType": { "SERVICE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -106,7 +110,12 @@ "width": 1064, "height": 38 }, - "tileFilter": {} + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } }, { "name": "Markdown", @@ -131,7 +140,12 @@ "width": 1064, "height": 304 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "MIXED", "customName": "Response time, Request Count and Number of Errors", @@ -189,8 +203,7 @@ "filtersPerEntityType": { "SERVICE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -219,7 +232,12 @@ "width": 190, "height": 152 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "DATABASE", "customName": "Databases", @@ -233,8 +251,7 @@ "filtersPerEntityType": { "DATABASE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -251,7 +268,12 @@ "width": 190, "height": 152 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "SERVICE", "customName": "Services", @@ -265,8 +287,7 @@ "filtersPerEntityType": { "SERVICE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -283,7 +304,12 @@ "width": 190, "height": 152 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "HOST", "customName": "Hosts", @@ -297,8 +323,7 @@ "filtersPerEntityType": { "HOST": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } diff --git a/onboarding/CD_managementZone/management-zone/default.json b/onboarding/CD_managementZone/management-zone/default.json index bffa0c3b..fc96de39 100644 --- a/onboarding/CD_managementZone/management-zone/default.json +++ b/onboarding/CD_managementZone/management-zone/default.json @@ -1,114 +1,23 @@ { "dimensionalRules": [], "name": "{{.name}}", - "rules": [ - { - "conditions": [ + "entitySelectorBasedRules": [ { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - }, - { - "conditions": [ + "enabled": true, + "entitySelector": "type(Service),tag({{.compassIDs}})" + }, { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - } - }, - "key": { - "attribute": "PROCESS_GROUP_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "PROCESS_GROUP_TO_HOST" - ], - "type": "PROCESS_GROUP" - }, - { - "conditions": [ + "enabled": true, + "entitySelector": "type(SERVICE),databaseName.exists(),toRelationship.calls(type(SERVICE),tag({{.compassIDs}}))" + }, { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - } - }, - "key": { - "attribute": "HOST_TAGS" - } - } + "enabled": true, + "entitySelector": "type(PROCESS_GROUP_INSTANCE),tag({{.compassIDs}})" + }, + { + "enabled": true, + "entitySelector": "type(HOST),tag({{.compassIDs}})" + } ], - "enabled": true, - "type": "HOST" - }, - { - "conditions": [ - { - "comparisonInfo": { - "caseSensitive": true, - "negate": false, - "operator": "CONTAINS", - "type": "STRING", - "value": "{{.tag}}" - }, - "key": { - "attribute": "CLOUD_APPLICATION_NAMESPACE_NAME" - } - } - ], - "enabled": true, - "propagationTypes": [], - "type": "CLOUD_APPLICATION_NAMESPACE" - }, - { - "conditions": [ - { - "comparisonInfo": { - "caseSensitive": true, - "negate": false, - "operator": "CONTAINS", - "type": "STRING", - "value": "{{.tag}}" - }, - "key": { - "attribute": "CLOUD_APPLICATION_NAME" - } - } - ], - "enabled": true, - "propagationTypes": [], - "type": "CLOUD_APPLICATION" - } - ] + "rules": [] } \ No newline at end of file diff --git a/onboarding/CD_managementZone/management-zone/management-zone.yaml b/onboarding/CD_managementZone/management-zone/management-zone.yaml index 635e9e71..a57bf4b7 100644 --- a/onboarding/CD_managementZone/management-zone/management-zone.yaml +++ b/onboarding/CD_managementZone/management-zone/management-zone.yaml @@ -3,4 +3,4 @@ config: CDnewComponentTag: - name: CD_managementZone -- tag: newComponentTag +- compassIDs: newCompassIds