From a9d07dc3544b32aa328e6a4b562d2c0628941190 Mon Sep 17 00:00:00 2001 From: Peter Oehmichen Date: Fri, 24 Sep 2021 10:09:21 +0200 Subject: [PATCH 01/33] OPMAAS-636 - Add initial configuration of application xcc to Dynatrace --- .../00_Global-Config/auto-tag/Component.json | 33 +- .../alerting-profile/alerting-profile.yaml | 43 +++ .../CD_XCC/alerting-profile/default.json | 103 ++++++ .../calculated-metrics-service/README.md | 4 + .../conditional-naming-processgroup/README.md | 4 + .../conditional-naming-processgroup.yaml | 8 + .../template.json | 29 ++ .../conditional-naming-service/README.md | 4 + .../conditional-naming-service.yaml | 8 + .../conditional-naming-service/template.json | 29 ++ .../CD_XCC/custom-service-java/README.md | 4 + .../custom-service-java.yaml | 9 + .../custom-service-java/template-1-1.json | 23 ++ .../CD_XCC/dashboard/README.md | 4 + .../CD_XCC/dashboard/dashboard.yaml | 125 +++++++ .../CD_XCC/dashboard/default.json | 309 ++++++++++++++++++ .../CD_XCC/management-zone/README.md | 4 + .../CD_XCC/management-zone/default.json | 114 +++++++ .../management-zone/management-zone.yaml | 6 + .../CD_XCC/notification/README.md | 4 + .../CD_XCC/notification/email.json | 13 + .../CD_XCC/notification/itsm.json | 20 ++ .../CD_XCC/notification/msTeams.json | 11 + .../CD_XCC/notification/notification.yaml | 102 ++++++ .../CD_XCC/synthetic-monitor/README.md | 4 + .../CD_XCC/synthetic-monitor/default.json | 82 +++++ .../synthetic-monitor/synthetic-monitor.yaml | 10 + 27 files changed, 1108 insertions(+), 1 deletion(-) create mode 100644 BMW-Dynatrace-config/CD_XCC/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_XCC/alerting-profile/default.json create mode 100644 BMW-Dynatrace-config/CD_XCC/calculated-metrics-service/README.md create mode 100644 BMW-Dynatrace-config/CD_XCC/conditional-naming-processgroup/README.md create mode 100644 BMW-Dynatrace-config/CD_XCC/conditional-naming-processgroup/conditional-naming-processgroup.yaml create mode 100644 BMW-Dynatrace-config/CD_XCC/conditional-naming-processgroup/template.json create mode 100644 BMW-Dynatrace-config/CD_XCC/conditional-naming-service/README.md create mode 100644 BMW-Dynatrace-config/CD_XCC/conditional-naming-service/conditional-naming-service.yaml create mode 100644 BMW-Dynatrace-config/CD_XCC/conditional-naming-service/template.json create mode 100644 BMW-Dynatrace-config/CD_XCC/custom-service-java/README.md create mode 100644 BMW-Dynatrace-config/CD_XCC/custom-service-java/custom-service-java.yaml create mode 100644 BMW-Dynatrace-config/CD_XCC/custom-service-java/template-1-1.json create mode 100644 BMW-Dynatrace-config/CD_XCC/dashboard/README.md create mode 100644 BMW-Dynatrace-config/CD_XCC/dashboard/dashboard.yaml create mode 100644 BMW-Dynatrace-config/CD_XCC/dashboard/default.json create mode 100644 BMW-Dynatrace-config/CD_XCC/management-zone/README.md create mode 100644 BMW-Dynatrace-config/CD_XCC/management-zone/default.json create mode 100644 BMW-Dynatrace-config/CD_XCC/management-zone/management-zone.yaml create mode 100644 BMW-Dynatrace-config/CD_XCC/notification/README.md create mode 100644 BMW-Dynatrace-config/CD_XCC/notification/email.json create mode 100644 BMW-Dynatrace-config/CD_XCC/notification/itsm.json create mode 100644 BMW-Dynatrace-config/CD_XCC/notification/msTeams.json create mode 100644 BMW-Dynatrace-config/CD_XCC/notification/notification.yaml create mode 100644 BMW-Dynatrace-config/CD_XCC/synthetic-monitor/README.md create mode 100644 BMW-Dynatrace-config/CD_XCC/synthetic-monitor/default.json create mode 100644 BMW-Dynatrace-config/CD_XCC/synthetic-monitor/synthetic-monitor.yaml diff --git a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json index 0ea5c686..8f6a95f1 100644 --- a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json +++ b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json @@ -4187,7 +4187,38 @@ } } ] - } + }, + { + "type": "SERVICE", + "enabled": true, + "valueFormat": "", + "propagationTypes": [], + "conditions": [ + { + "key": { + "attribute": "SERVICE_TYPE" + }, + "comparisonInfo": { + "type": "SERVICE_TYPE", + "operator": "EQUALS", + "value": "DATABASE_SERVICE", + "negate": false + } + }, + { + "key": { + "attribute": "SERVICE_DATABASE_NAME" + }, + "comparisonInfo": { + "type": "STRING", + "operator": "CONTAINS", + "value": "xcc", + "negate": false, + "caseSensitive": true + } + } + ] + } ] } ] diff --git a/BMW-Dynatrace-config/CD_XCC/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_XCC/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..d64d7bf4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDXCC: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDXCC.EMEA-Prod: +- name: CD_XCC PROD +- tag: XCC +- mzId: CD_XCC/management-zone/CDXCC.id +- env: PROD +- skipDeployment: "false" +CDXCC.NA-Prod: +- name: CD_XCC PROD +- tag: XCC +- mzId: CD_XCC/management-zone/CDXCC.id +- env: PROD +- skipDeployment: "false" +CDXCC.CN-Prod: +- name: CD_XCC PROD +- tag: XCC +- mzId: CD_XCC/management-zone/CDXCC.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDXCC.EMEA-PreProd: +- name: CD_XCC INT +- tag: XCC +- mzId: CD_XCC/management-zone/CDXCC.id +- env: INT +- skipDeployment: "false" +CDXCC.NA-PreProd: +- name: CD_XCC INT +- tag: XCC +- mzId: CD_XCC/management-zone/CDXCC.id +- env: INT +- skipDeployment: "false" +CDXCC.CN-PreProd: +- name: CD_XCC INT +- tag: XCC +- mzId: CD_XCC/management-zone/CDXCC.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/alerting-profile/default.json b/BMW-Dynatrace-config/CD_XCC/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_XCC/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_XCC/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_XCC/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..abbbf5cf --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDXCC: template.json + +CDXCC: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: XCC +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_XCC/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_XCC/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_XCC/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_XCC/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..abbbf5cf --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDXCC: template.json + +CDXCC: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: XCC +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_XCC/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_XCC/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/custom-service-java/README.md b/BMW-Dynatrace-config/CD_XCC/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_XCC/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_XCC/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/dashboard/README.md b/BMW-Dynatrace-config/CD_XCC/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_XCC/dashboard/dashboard.yaml new file mode 100644 index 00000000..88ffae50 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/dashboard/dashboard.yaml @@ -0,0 +1,125 @@ +config: +- CDXCC-PROD: default.json +- CDXCC-E2E: default.json +- CDXCC-INT: default.json +- CDXCC-TEST: default.json + +#PROD dashboards for EMEA/NA/CN Prod +CDXCC-PROD: +- name: CD_XCC PROD +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: PROD +- skipDeployment: "true" +CDXCC-PROD.EMEA-Prod: +- name: CD_XCC PROD +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: PROD +- skipDeployment: "false" +CDXCC-PROD.NA-Prod: +- name: CD_XCC PROD +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: PROD +- skipDeployment: "false" +CDXCC-PROD.CN-Prod: +- name: CD_XCC PROD +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDXCC-E2E: +- name: CD_XCC E2E +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: E2E +- skipDeployment: "true" +CDXCC-E2E.EMEA-Prod: +- name: CD_XCC E2E +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: E2E +- skipDeployment: "false" +CDXCC-E2E.NA-Prod: +- name: CD_XCC E2E +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: E2E +- skipDeployment: "false" +CDXCC-E2E.CN-Prod: +- name: CD_XCC E2E +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDXCC-INT: +- name: CD_XCC INT +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: INT +- skipDeployment: "true" +CDXCC-INT.EMEA-PreProd: +- name: CD_XCC INT +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: INT +- skipDeployment: "false" +CDXCC-INT.NA-PreProd: +- name: CD_XCC INT +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: INT +- skipDeployment: "false" +CDXCC-INT.CN-PreProd: +- name: CD_XCC INT +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDXCC-TEST: +- name: CD_XCC TEST +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: TEST +- skipDeployment: "true" +CDXCC-TEST.EMEA-PreProd: +- name: CD_XCC TEST +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: TEST +- skipDeployment: "false" +CDXCC-TEST.NA-PreProd: +- name: CD_XCC TEST +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: TEST +- skipDeployment: "false" +CDXCC-TEST.CN-PreProd: +- name: CD_XCC TEST +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- tag: XCC +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/dashboard/default.json b/BMW-Dynatrace-config/CD_XCC/dashboard/default.json new file mode 100644 index 00000000..ef07d18c --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/dashboard/default.json @@ -0,0 +1,309 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.tag}}" + ], + "preset": true + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {} + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/management-zone/README.md b/BMW-Dynatrace-config/CD_XCC/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/management-zone/README.md @@ -0,0 +1,4 @@ + +### How to configure management zones? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/management-zone/default.json b/BMW-Dynatrace-config/CD_XCC/management-zone/default.json new file mode 100644 index 00000000..bffa0c3b --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/management-zone/default.json @@ -0,0 +1,114 @@ +{ + "dimensionalRules": [], + "name": "{{.name}}", + "rules": [ + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "HOST_TAGS" + } + } + ], + "enabled": true, + "type": "HOST" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAMESPACE_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION_NAMESPACE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION" + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_XCC/management-zone/management-zone.yaml new file mode 100644 index 00000000..80bc766a --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDXCC: default.json + +CDXCC: +- name: CD_XCC +- tag: XCC diff --git a/BMW-Dynatrace-config/CD_XCC/notification/README.md b/BMW-Dynatrace-config/CD_XCC/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/notification/email.json b/BMW-Dynatrace-config/CD_XCC/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/notification/itsm.json b/BMW-Dynatrace-config/CD_XCC/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_XCC/notification/msTeams.json b/BMW-Dynatrace-config/CD_XCC/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/notification/notification.yaml b/BMW-Dynatrace-config/CD_XCC/notification/notification.yaml new file mode 100644 index 00000000..29143264 --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDXCC: msTeams.json +- CDXCCITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDXCC.EMEA-Prod: +- name: CD_XCC PROD +- alertingProfile: CD_XCC/alerting-profile/CDXCC.id +- webhook: https://empty +- skipDeployment: "true" +CDXCC.NA-Prod: +- name: CD_XCC PROD +- alertingProfile: CD_XCC/alerting-profile/CDXCC.id +- webhook: https://empty +- skipDeployment: "true" +CDXCC.CN-Prod: +- name: CD_XCC PROD +- alertingProfile: CD_XCC/alerting-profile/CDXCC.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDXCC.EMEA-PreProd: +- name: CD_XCC INT +- alertingProfile: CD_XCC/alerting-profile/CDXCC.id +- webhook: https://empty +- skipDeployment: "true" +CDXCC.NA-PreProd: +- name: CD_XCC INT +- alertingProfile: CD_XCC/alerting-profile/CDXCC.id +- webhook: https://empty +- skipDeployment: "true" +CDXCC.CN-PreProd: +- name: CD_XCC INT +- alertingProfile: CD_XCC/alerting-profile/CDXCC.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDXCCITSM.EMEA-Prod: +- name: CD_XCC ITSM PROD +- alertingProfile: CD_XCC/alerting-profile/CDXCC.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_XCC/management-zone/CDXCC.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDXCCITSM.NA-Prod: +- name: CD_XCC ITSM PROD +- alertingProfile: CD_XCC/alerting-profile/CDXCC.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_XCC/management-zone/CDXCC.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDXCCITSM.CN-Prod: +- name: CD_XCC ITSM PROD +- alertingProfile: CD_XCC/alerting-profile/CDXCC.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_XCC/management-zone/CDXCC.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDXCCITSM.EMEA-PreProd: +- name: CD_XCC ITSM INT +- alertingProfile: CD_XCC/alerting-profile/CDXCC.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_XCC/management-zone/CDXCC.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDXCCITSM.NA-PreProd: +- name: CD_XCC ITSM INT +- alertingProfile: CD_XCC/alerting-profile/CDXCC.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_XCC/management-zone/CDXCC.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDXCCITSM.CN-PreProd: +- name: CD_XCC ITSM INT +- alertingProfile: CD_XCC/alerting-profile/CDXCC.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_XCC/management-zone/CDXCC.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_XCC/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_XCC/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_XCC/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_XCC/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_XCC/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..750875bc --- /dev/null +++ b/BMW-Dynatrace-config/CD_XCC/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- XCC: default.json + +XCC: +- name: CD_XCC - +- mzName: CD_XCC/management-zone/CDXCC.name +- mzId: CD_XCC/management-zone/CDXCC.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file From 64030c9e0ac70d0fece4501fb6cfaaa35f15a1b5 Mon Sep 17 00:00:00 2001 From: Oleksandr Maglovanyi Date: Wed, 29 Sep 2021 14:02:08 +0300 Subject: [PATCH 02/33] OPMAAS-179 - Add initial configuration of application ASBC-FSC-AST to Dynatrace --- .../alerting-profile/alerting-profile.yaml | 43 +++ .../alerting-profile/default.json | 103 ++++++ .../calculated-metrics-service/README.md | 4 + .../conditional-naming-processgroup/README.md | 4 + .../conditional-naming-processgroup.yaml | 8 + .../template.json | 29 ++ .../conditional-naming-service/README.md | 4 + .../conditional-naming-service.yaml | 8 + .../conditional-naming-service/template.json | 29 ++ .../custom-service-java/README.md | 4 + .../custom-service-java.yaml | 9 + .../custom-service-java/template-1-1.json | 23 ++ .../CD_ASBC-FSC-AST/dashboard/README.md | 4 + .../CD_ASBC-FSC-AST/dashboard/dashboard.yaml | 125 +++++++ .../CD_ASBC-FSC-AST/dashboard/default.json | 309 ++++++++++++++++++ .../CD_ASBC-FSC-AST/management-zone/README.md | 4 + .../management-zone/default.json | 114 +++++++ .../management-zone/management-zone.yaml | 6 + .../CD_ASBC-FSC-AST/notification/README.md | 4 + .../CD_ASBC-FSC-AST/notification/email.json | 13 + .../CD_ASBC-FSC-AST/notification/itsm.json | 20 ++ .../CD_ASBC-FSC-AST/notification/msTeams.json | 11 + .../notification/notification.yaml | 102 ++++++ .../synthetic-monitor/README.md | 4 + .../synthetic-monitor/default.json | 82 +++++ .../synthetic-monitor/synthetic-monitor.yaml | 10 + 26 files changed, 1076 insertions(+) create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/alerting-profile/default.json create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/calculated-metrics-service/README.md create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-processgroup/README.md create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-processgroup/conditional-naming-processgroup.yaml create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-processgroup/template.json create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-service/README.md create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-service/conditional-naming-service.yaml create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-service/template.json create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/custom-service-java/README.md create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/custom-service-java/custom-service-java.yaml create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/custom-service-java/template-1-1.json create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/dashboard/README.md create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/dashboard/dashboard.yaml create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/dashboard/default.json create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/management-zone/README.md create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/management-zone/default.json create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/management-zone/management-zone.yaml create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/README.md create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/email.json create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/itsm.json create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/msTeams.json create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/notification.yaml create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/synthetic-monitor/README.md create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/synthetic-monitor/default.json create mode 100644 BMW-Dynatrace-config/CD_ASBC-FSC-AST/synthetic-monitor/synthetic-monitor.yaml diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..375ff6a5 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDASBC-FSC-AST: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDASBC-FSC-AST.EMEA-Prod: +- name: CD_ASBC-FSC-AST PROD +- tag: ASBC-FSC-AST +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- env: PROD +- skipDeployment: "false" +CDASBC-FSC-AST.NA-Prod: +- name: CD_ASBC-FSC-AST PROD +- tag: ASBC-FSC-AST +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- env: PROD +- skipDeployment: "false" +CDASBC-FSC-AST.CN-Prod: +- name: CD_ASBC-FSC-AST PROD +- tag: ASBC-FSC-AST +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDASBC-FSC-AST.EMEA-PreProd: +- name: CD_ASBC-FSC-AST INT +- tag: ASBC-FSC-AST +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- env: INT +- skipDeployment: "false" +CDASBC-FSC-AST.NA-PreProd: +- name: CD_ASBC-FSC-AST INT +- tag: ASBC-FSC-AST +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- env: INT +- skipDeployment: "false" +CDASBC-FSC-AST.CN-PreProd: +- name: CD_ASBC-FSC-AST INT +- tag: ASBC-FSC-AST +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/alerting-profile/default.json b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/calculated-metrics-service/README.md new file mode 100644 index 00000000..9c2a1f2e --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..519727bf --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..9c850977 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDASBC-FSC-AST: template.json + +CDASBC-FSC-AST: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: ASBC-FSC-AST +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-service/README.md new file mode 100644 index 00000000..b6f10ae1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..9c850977 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDASBC-FSC-AST: template.json + +CDASBC-FSC-AST: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: ASBC-FSC-AST +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/custom-service-java/README.md b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/custom-service-java/README.md new file mode 100644 index 00000000..5f35e5c1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/dashboard/README.md b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/dashboard/README.md new file mode 100644 index 00000000..f2f821ec --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/dashboard/dashboard.yaml new file mode 100644 index 00000000..33502234 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/dashboard/dashboard.yaml @@ -0,0 +1,125 @@ +config: +- CDASBC-FSC-AST-PROD: default.json +- CDASBC-FSC-AST-E2E: default.json +- CDASBC-FSC-AST-INT: default.json +- CDASBC-FSC-AST-TEST: default.json + +#PROD dashboards for EMEA/NA/CN Prod +CDASBC-FSC-AST-PROD: +- name: CD_ASBC-FSC-AST PROD +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: PROD +- skipDeployment: "true" +CDASBC-FSC-AST-PROD.EMEA-Prod: +- name: CD_ASBC-FSC-AST PROD +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: PROD +- skipDeployment: "false" +CDASBC-FSC-AST-PROD.NA-Prod: +- name: CD_ASBC-FSC-AST PROD +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: PROD +- skipDeployment: "false" +CDASBC-FSC-AST-PROD.CN-Prod: +- name: CD_ASBC-FSC-AST PROD +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDASBC-FSC-AST-E2E: +- name: CD_ASBC-FSC-AST E2E +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: E2E +- skipDeployment: "true" +CDASBC-FSC-AST-E2E.EMEA-Prod: +- name: CD_ASBC-FSC-AST E2E +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: E2E +- skipDeployment: "false" +CDASBC-FSC-AST-E2E.NA-Prod: +- name: CD_ASBC-FSC-AST E2E +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: E2E +- skipDeployment: "false" +CDASBC-FSC-AST-E2E.CN-Prod: +- name: CD_ASBC-FSC-AST E2E +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDASBC-FSC-AST-INT: +- name: CD_ASBC-FSC-AST INT +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: INT +- skipDeployment: "true" +CDASBC-FSC-AST-INT.EMEA-PreProd: +- name: CD_ASBC-FSC-AST INT +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: INT +- skipDeployment: "false" +CDASBC-FSC-AST-INT.NA-PreProd: +- name: CD_ASBC-FSC-AST INT +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: INT +- skipDeployment: "false" +CDASBC-FSC-AST-INT.CN-PreProd: +- name: CD_ASBC-FSC-AST INT +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDASBC-FSC-AST-TEST: +- name: CD_ASBC-FSC-AST TEST +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: TEST +- skipDeployment: "true" +CDASBC-FSC-AST-TEST.EMEA-PreProd: +- name: CD_ASBC-FSC-AST TEST +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: TEST +- skipDeployment: "false" +CDASBC-FSC-AST-TEST.NA-PreProd: +- name: CD_ASBC-FSC-AST TEST +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: TEST +- skipDeployment: "false" +CDASBC-FSC-AST-TEST.CN-PreProd: +- name: CD_ASBC-FSC-AST TEST +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- tag: ASBC-FSC-AST +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/dashboard/default.json b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/dashboard/default.json new file mode 100644 index 00000000..ef07d18c --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/dashboard/default.json @@ -0,0 +1,309 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.tag}}" + ], + "preset": true + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {} + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/management-zone/README.md b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/management-zone/README.md new file mode 100644 index 00000000..3716858c --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/management-zone/README.md @@ -0,0 +1,4 @@ + +### How to configure management zones? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/management-zone/default.json b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/management-zone/default.json new file mode 100644 index 00000000..bffa0c3b --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/management-zone/default.json @@ -0,0 +1,114 @@ +{ + "dimensionalRules": [], + "name": "{{.name}}", + "rules": [ + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "HOST_TAGS" + } + } + ], + "enabled": true, + "type": "HOST" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAMESPACE_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION_NAMESPACE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION" + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/management-zone/management-zone.yaml new file mode 100644 index 00000000..3933acb8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDASBC-FSC-AST: default.json + +CDASBC-FSC-AST: +- name: CD_ASBC-FSC-AST +- tag: ASBC-FSC-AST diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/README.md b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/README.md new file mode 100644 index 00000000..37cb85bc --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/email.json b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/itsm.json b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/msTeams.json b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/notification.yaml b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/notification.yaml new file mode 100644 index 00000000..94e0dbe8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDASBC-FSC-AST: msTeams.json +- CDASBC-FSC-ASTITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDASBC-FSC-AST.EMEA-Prod: +- name: CD_ASBC-FSC-AST PROD +- alertingProfile: CD_ASBC-FSC-AST/alerting-profile/CDASBC-FSC-AST.id +- webhook: https://empty +- skipDeployment: "true" +CDASBC-FSC-AST.NA-Prod: +- name: CD_ASBC-FSC-AST PROD +- alertingProfile: CD_ASBC-FSC-AST/alerting-profile/CDASBC-FSC-AST.id +- webhook: https://empty +- skipDeployment: "true" +CDASBC-FSC-AST.CN-Prod: +- name: CD_ASBC-FSC-AST PROD +- alertingProfile: CD_ASBC-FSC-AST/alerting-profile/CDASBC-FSC-AST.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDASBC-FSC-AST.EMEA-PreProd: +- name: CD_ASBC-FSC-AST INT +- alertingProfile: CD_ASBC-FSC-AST/alerting-profile/CDASBC-FSC-AST.id +- webhook: https://empty +- skipDeployment: "true" +CDASBC-FSC-AST.NA-PreProd: +- name: CD_ASBC-FSC-AST INT +- alertingProfile: CD_ASBC-FSC-AST/alerting-profile/CDASBC-FSC-AST.id +- webhook: https://empty +- skipDeployment: "true" +CDASBC-FSC-AST.CN-PreProd: +- name: CD_ASBC-FSC-AST INT +- alertingProfile: CD_ASBC-FSC-AST/alerting-profile/CDASBC-FSC-AST.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDASBC-FSC-ASTITSM.EMEA-Prod: +- name: CD_ASBC-FSC-AST ITSM PROD +- alertingProfile: CD_ASBC-FSC-AST/alerting-profile/CDASBC-FSC-AST.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDASBC-FSC-ASTITSM.NA-Prod: +- name: CD_ASBC-FSC-AST ITSM PROD +- alertingProfile: CD_ASBC-FSC-AST/alerting-profile/CDASBC-FSC-AST.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDASBC-FSC-ASTITSM.CN-Prod: +- name: CD_ASBC-FSC-AST ITSM PROD +- alertingProfile: CD_ASBC-FSC-AST/alerting-profile/CDASBC-FSC-AST.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDASBC-FSC-ASTITSM.EMEA-PreProd: +- name: CD_ASBC-FSC-AST ITSM INT +- alertingProfile: CD_ASBC-FSC-AST/alerting-profile/CDASBC-FSC-AST.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDASBC-FSC-ASTITSM.NA-PreProd: +- name: CD_ASBC-FSC-AST ITSM INT +- alertingProfile: CD_ASBC-FSC-AST/alerting-profile/CDASBC-FSC-AST.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDASBC-FSC-ASTITSM.CN-PreProd: +- name: CD_ASBC-FSC-AST ITSM INT +- alertingProfile: CD_ASBC-FSC-AST/alerting-profile/CDASBC-FSC-AST.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/synthetic-monitor/README.md new file mode 100644 index 00000000..1695924c --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-FSC-AST/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..56adcbf9 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-FSC-AST/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- ASBC-FSC-AST: default.json + +ASBC-FSC-AST: +- name: CD_ASBC-FSC-AST - +- mzName: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.name +- mzId: CD_ASBC-FSC-AST/management-zone/CDASBC-FSC-AST.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file From 39e7cea14dfc86b4db4e1e72cd7b79275b654cab Mon Sep 17 00:00:00 2001 From: Oleksandr Maglovanyi Date: Wed, 29 Sep 2021 14:05:38 +0300 Subject: [PATCH 03/33] OPMAAS-178 - Add initial configuration of application to Dynatrace --- .../alerting-profile/alerting-profile.yaml | 43 +++ .../alerting-profile/default.json | 103 ++++++ .../calculated-metrics-service/README.md | 4 + .../conditional-naming-processgroup/README.md | 4 + .../conditional-naming-processgroup.yaml | 8 + .../template.json | 29 ++ .../conditional-naming-service/README.md | 4 + .../conditional-naming-service.yaml | 8 + .../conditional-naming-service/template.json | 29 ++ .../custom-service-java/README.md | 4 + .../custom-service-java.yaml | 9 + .../custom-service-java/template-1-1.json | 23 ++ .../CD_ASBC-MFSCS/dashboard/README.md | 4 + .../CD_ASBC-MFSCS/dashboard/dashboard.yaml | 125 +++++++ .../CD_ASBC-MFSCS/dashboard/default.json | 309 ++++++++++++++++++ .../CD_ASBC-MFSCS/management-zone/README.md | 4 + .../management-zone/default.json | 114 +++++++ .../management-zone/management-zone.yaml | 6 + .../CD_ASBC-MFSCS/notification/README.md | 4 + .../CD_ASBC-MFSCS/notification/email.json | 13 + .../CD_ASBC-MFSCS/notification/itsm.json | 20 ++ .../CD_ASBC-MFSCS/notification/msTeams.json | 11 + .../notification/notification.yaml | 102 ++++++ .../CD_ASBC-MFSCS/synthetic-monitor/README.md | 4 + .../synthetic-monitor/default.json | 82 +++++ .../synthetic-monitor/synthetic-monitor.yaml | 10 + 26 files changed, 1076 insertions(+) create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/alerting-profile/default.json create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/calculated-metrics-service/README.md create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-processgroup/README.md create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-processgroup/conditional-naming-processgroup.yaml create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-processgroup/template.json create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-service/README.md create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-service/conditional-naming-service.yaml create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-service/template.json create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/custom-service-java/README.md create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/custom-service-java/custom-service-java.yaml create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/custom-service-java/template-1-1.json create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/dashboard/README.md create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/dashboard/dashboard.yaml create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/dashboard/default.json create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/management-zone/README.md create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/management-zone/default.json create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/management-zone/management-zone.yaml create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/README.md create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/email.json create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/itsm.json create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/msTeams.json create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/notification.yaml create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/synthetic-monitor/README.md create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/synthetic-monitor/default.json create mode 100644 BMW-Dynatrace-config/CD_ASBC-MFSCS/synthetic-monitor/synthetic-monitor.yaml diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_ASBC-MFSCS/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..e3a5d918 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDASBC-MFSCS: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDASBC-MFSCS.EMEA-Prod: +- name: CD_ASBC-MFSCS PROD +- tag: ASBC-MFSCS +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- env: PROD +- skipDeployment: "false" +CDASBC-MFSCS.NA-Prod: +- name: CD_ASBC-MFSCS PROD +- tag: ASBC-MFSCS +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- env: PROD +- skipDeployment: "false" +CDASBC-MFSCS.CN-Prod: +- name: CD_ASBC-MFSCS PROD +- tag: ASBC-MFSCS +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDASBC-MFSCS.EMEA-PreProd: +- name: CD_ASBC-MFSCS INT +- tag: ASBC-MFSCS +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- env: INT +- skipDeployment: "false" +CDASBC-MFSCS.NA-PreProd: +- name: CD_ASBC-MFSCS INT +- tag: ASBC-MFSCS +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- env: INT +- skipDeployment: "false" +CDASBC-MFSCS.CN-PreProd: +- name: CD_ASBC-MFSCS INT +- tag: ASBC-MFSCS +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/alerting-profile/default.json b/BMW-Dynatrace-config/CD_ASBC-MFSCS/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_ASBC-MFSCS/calculated-metrics-service/README.md new file mode 100644 index 00000000..9c2a1f2e --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..519727bf --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..eed85810 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDASBC-MFSCS: template.json + +CDASBC-MFSCS: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: ASBC-MFSCS +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-service/README.md new file mode 100644 index 00000000..b6f10ae1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..eed85810 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDASBC-MFSCS: template.json + +CDASBC-MFSCS: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: ASBC-MFSCS +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/custom-service-java/README.md b/BMW-Dynatrace-config/CD_ASBC-MFSCS/custom-service-java/README.md new file mode 100644 index 00000000..5f35e5c1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_ASBC-MFSCS/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_ASBC-MFSCS/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/dashboard/README.md b/BMW-Dynatrace-config/CD_ASBC-MFSCS/dashboard/README.md new file mode 100644 index 00000000..f2f821ec --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_ASBC-MFSCS/dashboard/dashboard.yaml new file mode 100644 index 00000000..eeea96d8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/dashboard/dashboard.yaml @@ -0,0 +1,125 @@ +config: +- CDASBC-MFSCS-PROD: default.json +- CDASBC-MFSCS-E2E: default.json +- CDASBC-MFSCS-INT: default.json +- CDASBC-MFSCS-TEST: default.json + +#PROD dashboards for EMEA/NA/CN Prod +CDASBC-MFSCS-PROD: +- name: CD_ASBC-MFSCS PROD +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: PROD +- skipDeployment: "true" +CDASBC-MFSCS-PROD.EMEA-Prod: +- name: CD_ASBC-MFSCS PROD +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: PROD +- skipDeployment: "false" +CDASBC-MFSCS-PROD.NA-Prod: +- name: CD_ASBC-MFSCS PROD +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: PROD +- skipDeployment: "false" +CDASBC-MFSCS-PROD.CN-Prod: +- name: CD_ASBC-MFSCS PROD +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDASBC-MFSCS-E2E: +- name: CD_ASBC-MFSCS E2E +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: E2E +- skipDeployment: "true" +CDASBC-MFSCS-E2E.EMEA-Prod: +- name: CD_ASBC-MFSCS E2E +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: E2E +- skipDeployment: "false" +CDASBC-MFSCS-E2E.NA-Prod: +- name: CD_ASBC-MFSCS E2E +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: E2E +- skipDeployment: "false" +CDASBC-MFSCS-E2E.CN-Prod: +- name: CD_ASBC-MFSCS E2E +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDASBC-MFSCS-INT: +- name: CD_ASBC-MFSCS INT +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: INT +- skipDeployment: "true" +CDASBC-MFSCS-INT.EMEA-PreProd: +- name: CD_ASBC-MFSCS INT +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: INT +- skipDeployment: "false" +CDASBC-MFSCS-INT.NA-PreProd: +- name: CD_ASBC-MFSCS INT +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: INT +- skipDeployment: "false" +CDASBC-MFSCS-INT.CN-PreProd: +- name: CD_ASBC-MFSCS INT +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDASBC-MFSCS-TEST: +- name: CD_ASBC-MFSCS TEST +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: TEST +- skipDeployment: "true" +CDASBC-MFSCS-TEST.EMEA-PreProd: +- name: CD_ASBC-MFSCS TEST +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: TEST +- skipDeployment: "false" +CDASBC-MFSCS-TEST.NA-PreProd: +- name: CD_ASBC-MFSCS TEST +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: TEST +- skipDeployment: "false" +CDASBC-MFSCS-TEST.CN-PreProd: +- name: CD_ASBC-MFSCS TEST +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- tag: ASBC-MFSCS +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/dashboard/default.json b/BMW-Dynatrace-config/CD_ASBC-MFSCS/dashboard/default.json new file mode 100644 index 00000000..ef07d18c --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/dashboard/default.json @@ -0,0 +1,309 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.tag}}" + ], + "preset": true + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {} + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/management-zone/README.md b/BMW-Dynatrace-config/CD_ASBC-MFSCS/management-zone/README.md new file mode 100644 index 00000000..3716858c --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/management-zone/README.md @@ -0,0 +1,4 @@ + +### How to configure management zones? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/management-zone/default.json b/BMW-Dynatrace-config/CD_ASBC-MFSCS/management-zone/default.json new file mode 100644 index 00000000..bffa0c3b --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/management-zone/default.json @@ -0,0 +1,114 @@ +{ + "dimensionalRules": [], + "name": "{{.name}}", + "rules": [ + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "HOST_TAGS" + } + } + ], + "enabled": true, + "type": "HOST" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAMESPACE_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION_NAMESPACE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION" + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_ASBC-MFSCS/management-zone/management-zone.yaml new file mode 100644 index 00000000..a23ffd6d --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDASBC-MFSCS: default.json + +CDASBC-MFSCS: +- name: CD_ASBC-MFSCS +- tag: ASBC-MFSCS diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/README.md b/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/README.md new file mode 100644 index 00000000..37cb85bc --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/email.json b/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/itsm.json b/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/msTeams.json b/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/notification.yaml b/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/notification.yaml new file mode 100644 index 00000000..e25362d1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDASBC-MFSCS: msTeams.json +- CDASBC-MFSCSITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDASBC-MFSCS.EMEA-Prod: +- name: CD_ASBC-MFSCS PROD +- alertingProfile: CD_ASBC-MFSCS/alerting-profile/CDASBC-MFSCS.id +- webhook: https://empty +- skipDeployment: "true" +CDASBC-MFSCS.NA-Prod: +- name: CD_ASBC-MFSCS PROD +- alertingProfile: CD_ASBC-MFSCS/alerting-profile/CDASBC-MFSCS.id +- webhook: https://empty +- skipDeployment: "true" +CDASBC-MFSCS.CN-Prod: +- name: CD_ASBC-MFSCS PROD +- alertingProfile: CD_ASBC-MFSCS/alerting-profile/CDASBC-MFSCS.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDASBC-MFSCS.EMEA-PreProd: +- name: CD_ASBC-MFSCS INT +- alertingProfile: CD_ASBC-MFSCS/alerting-profile/CDASBC-MFSCS.id +- webhook: https://empty +- skipDeployment: "true" +CDASBC-MFSCS.NA-PreProd: +- name: CD_ASBC-MFSCS INT +- alertingProfile: CD_ASBC-MFSCS/alerting-profile/CDASBC-MFSCS.id +- webhook: https://empty +- skipDeployment: "true" +CDASBC-MFSCS.CN-PreProd: +- name: CD_ASBC-MFSCS INT +- alertingProfile: CD_ASBC-MFSCS/alerting-profile/CDASBC-MFSCS.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDASBC-MFSCSITSM.EMEA-Prod: +- name: CD_ASBC-MFSCS ITSM PROD +- alertingProfile: CD_ASBC-MFSCS/alerting-profile/CDASBC-MFSCS.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDASBC-MFSCSITSM.NA-Prod: +- name: CD_ASBC-MFSCS ITSM PROD +- alertingProfile: CD_ASBC-MFSCS/alerting-profile/CDASBC-MFSCS.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDASBC-MFSCSITSM.CN-Prod: +- name: CD_ASBC-MFSCS ITSM PROD +- alertingProfile: CD_ASBC-MFSCS/alerting-profile/CDASBC-MFSCS.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDASBC-MFSCSITSM.EMEA-PreProd: +- name: CD_ASBC-MFSCS ITSM INT +- alertingProfile: CD_ASBC-MFSCS/alerting-profile/CDASBC-MFSCS.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDASBC-MFSCSITSM.NA-PreProd: +- name: CD_ASBC-MFSCS ITSM INT +- alertingProfile: CD_ASBC-MFSCS/alerting-profile/CDASBC-MFSCS.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDASBC-MFSCSITSM.CN-PreProd: +- name: CD_ASBC-MFSCS ITSM INT +- alertingProfile: CD_ASBC-MFSCS/alerting-profile/CDASBC-MFSCS.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_ASBC-MFSCS/synthetic-monitor/README.md new file mode 100644 index 00000000..1695924c --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_ASBC-MFSCS/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-MFSCS/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_ASBC-MFSCS/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..b67cb8be --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-MFSCS/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- ASBC-MFSCS: default.json + +ASBC-MFSCS: +- name: CD_ASBC-MFSCS - +- mzName: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.name +- mzId: CD_ASBC-MFSCS/management-zone/CDASBC-MFSCS.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file From 236b97452a11adf366dd99e978d91bfe6b70da6f Mon Sep 17 00:00:00 2001 From: "Ermis Wieger (ext.)" Date: Wed, 29 Sep 2021 14:09:26 +0200 Subject: [PATCH 04/33] Component.json edited online with Bitbucket --- BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json index 8f6a95f1..52a8f1c4 100644 --- a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json +++ b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json @@ -4191,7 +4191,7 @@ { "type": "SERVICE", "enabled": true, - "valueFormat": "", + "valueFormat": "XCC", "propagationTypes": [], "conditions": [ { From 9202251c3ca0efdee8feeb5303064d10b01ae1e8 Mon Sep 17 00:00:00 2001 From: ermisw Date: Thu, 30 Sep 2021 11:00:53 +0200 Subject: [PATCH 05/33] resolved conflicts in component.json --- .gitignore | 3 ++- .../00_Global-Config/auto-tag/Component.json | 9 --------- environment.yaml | 4 ++-- 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index 1b941e75..d9de1819 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .env .vscode/* setenv.bat -.logs \ No newline at end of file +.logs +./environment.yaml \ No newline at end of file diff --git a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json index 52a8f1c4..7f0f75a7 100644 --- a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json +++ b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json @@ -4151,11 +4151,7 @@ { "type": "SERVICE", "enabled": true, -<<<<<<< HEAD "valueFormat": "rsu", -======= - "valueFormat": "ASBC-HAL-CL", ->>>>>>> 66042505f351ff2f91db06a9972f047047e2105c "propagationTypes": [], "conditions": [ { @@ -4175,13 +4171,8 @@ }, "comparisonInfo": { "type": "STRING", -<<<<<<< HEAD "operator": "CONTAINS_REGEX", "value": "^(?>cam|disp|fre|rcs|rdh|rmo|rpp|rte|rve|rvi|rvt|rwd|uvm)(?>eu|us|cn)(?>e2e|p)$", -======= - "operator": "CONTAINS", - "value": "asbchal", ->>>>>>> 66042505f351ff2f91db06a9972f047047e2105c "negate": false, "caseSensitive": true } diff --git a/environment.yaml b/environment.yaml index 7478966e..6af64c8a 100644 --- a/environment.yaml +++ b/environment.yaml @@ -20,10 +20,10 @@ NA-PreProd: CN-Prod: - name: "CN-Prod" - - env-url: "https://dynatracemgd-cn.bmwgroup.net/e/b921f1b9-c00e-4031-b9d1-f5a0d530757b" + - env-url: "https://dynatracemgd-cn.bmwgroup.net/e/b921f1b9-c00e-4031-b9d1-f5a0d530757b@PROXY" - env-token-name: "CN_Prod_TOKEN" CN-PreProd: - name: "CN-PreProd" - - env-url: "https://dynatracemgd-cn.bmwgroup.net/e/ab88c03b-b7fc-45f0-9115-9e9ecc0ced35" + - env-url: "https://dynatracemgd-cn.bmwgroup.net/e/ab88c03b-b7fc-45f0-9115-9e9ecc0ced35@PROXY" - env-token-name: "CN_PreProd_TOKEN" \ No newline at end of file From 113ef10ba6a950537f0c98b3733125348a1f2729 Mon Sep 17 00:00:00 2001 From: ermisw Date: Thu, 30 Sep 2021 11:17:59 +0200 Subject: [PATCH 06/33] fix --- BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json index 7f0f75a7..7798807d 100644 --- a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json +++ b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json @@ -4211,6 +4211,4 @@ ] } ] -} -] -} +} \ No newline at end of file From 17a723695c58f88046c3f0bcac78afb33f8413a7 Mon Sep 17 00:00:00 2001 From: mosadak al salamat Date: Thu, 30 Sep 2021 13:44:28 +0200 Subject: [PATCH 07/33] CDVPS-5198 - Add initial configuration of application VPS-Trigger to Dynatrace --- .../alerting-profile/alerting-profile.yaml | 43 ++++++++ .../alerting-profile/default.json | 103 ++++++++++++++++++ .../calculated-metrics-service/README.md | 4 + .../conditional-naming-processgroup/README.md | 4 + .../conditional-naming-processgroup.yaml | 8 ++ .../template.json | 29 +++++ .../conditional-naming-service/README.md | 4 + .../conditional-naming-service.yaml | 8 ++ .../conditional-naming-service/template.json | 29 +++++ .../custom-service-java/README.md | 4 + .../custom-service-java.yaml | 9 ++ .../custom-service-java/template-1-1.json | 23 ++++ .../CD_vps-trigger/notification/README.md | 4 + .../CD_vps-trigger/notification/email.json | 13 +++ .../CD_vps-trigger/notification/itsm.json | 20 ++++ .../CD_vps-trigger/notification/msTeams.json | 11 ++ .../notification/notification.yaml | 102 +++++++++++++++++ .../synthetic-monitor/README.md | 4 + .../synthetic-monitor/default.json | 82 ++++++++++++++ .../synthetic-monitor/synthetic-monitor.yaml | 10 ++ 20 files changed, 514 insertions(+) create mode 100644 BMW-Dynatrace-config/CD_vps-trigger/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_vps-trigger/alerting-profile/default.json create mode 100644 BMW-Dynatrace-config/CD_vps-trigger/calculated-metrics-service/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/conditional-naming-processgroup.yaml create mode 100644 BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/template.json create mode 100644 BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/conditional-naming-service.yaml create mode 100644 BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/template.json create mode 100644 BMW-Dynatrace-config/CD_vps-trigger/custom-service-java/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-trigger/custom-service-java/custom-service-java.yaml create mode 100644 BMW-Dynatrace-config/CD_vps-trigger/custom-service-java/template-1-1.json create mode 100644 BMW-Dynatrace-config/CD_vps-trigger/notification/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-trigger/notification/email.json create mode 100644 BMW-Dynatrace-config/CD_vps-trigger/notification/itsm.json create mode 100644 BMW-Dynatrace-config/CD_vps-trigger/notification/msTeams.json create mode 100644 BMW-Dynatrace-config/CD_vps-trigger/notification/notification.yaml create mode 100644 BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/default.json create mode 100644 BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/synthetic-monitor.yaml diff --git a/BMW-Dynatrace-config/CD_vps-trigger/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_vps-trigger/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..21d3b4fa --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDVPS-Trigger: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDVPS-Trigger.EMEA-Prod: +- name: CD_VPS-Trigger PROD +- tag: VPS-Trigger +- mzId: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- env: PROD +- skipDeployment: "false" +CDVPS-Trigger.NA-Prod: +- name: CD_VPS-Trigger PROD +- tag: VPS-Trigger +- mzId: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- env: PROD +- skipDeployment: "false" +CDVPS-Trigger.CN-Prod: +- name: CD_VPS-Trigger PROD +- tag: VPS-Trigger +- mzId: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDVPS-Trigger.EMEA-PreProd: +- name: CD_VPS-Trigger INT +- tag: VPS-Trigger +- mzId: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- env: INT +- skipDeployment: "false" +CDVPS-Trigger.NA-PreProd: +- name: CD_VPS-Trigger INT +- tag: VPS-Trigger +- mzId: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- env: INT +- skipDeployment: "false" +CDVPS-Trigger.CN-PreProd: +- name: CD_VPS-Trigger INT +- tag: VPS-Trigger +- mzId: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/alerting-profile/default.json b/BMW-Dynatrace-config/CD_vps-trigger/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_vps-trigger/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..da4c6e46 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDVPS-Trigger: template.json + +CDVPS-Trigger: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: VPS-Trigger +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..da4c6e46 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDVPS-Trigger: template.json + +CDVPS-Trigger: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: VPS-Trigger +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/custom-service-java/README.md b/BMW-Dynatrace-config/CD_vps-trigger/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_vps-trigger/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_vps-trigger/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/notification/README.md b/BMW-Dynatrace-config/CD_vps-trigger/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/notification/email.json b/BMW-Dynatrace-config/CD_vps-trigger/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/notification/itsm.json b/BMW-Dynatrace-config/CD_vps-trigger/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_vps-trigger/notification/msTeams.json b/BMW-Dynatrace-config/CD_vps-trigger/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/notification/notification.yaml b/BMW-Dynatrace-config/CD_vps-trigger/notification/notification.yaml new file mode 100644 index 00000000..942b79cc --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDVPS-Trigger: msTeams.json +- CDVPS-TriggerITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDVPS-Trigger.EMEA-Prod: +- name: CD_VPS-Trigger PROD +- alertingProfile: CD_VPS-Trigger/alerting-profile/CDVPS-Trigger.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Trigger.NA-Prod: +- name: CD_VPS-Trigger PROD +- alertingProfile: CD_VPS-Trigger/alerting-profile/CDVPS-Trigger.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Trigger.CN-Prod: +- name: CD_VPS-Trigger PROD +- alertingProfile: CD_VPS-Trigger/alerting-profile/CDVPS-Trigger.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDVPS-Trigger.EMEA-PreProd: +- name: CD_VPS-Trigger INT +- alertingProfile: CD_VPS-Trigger/alerting-profile/CDVPS-Trigger.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Trigger.NA-PreProd: +- name: CD_VPS-Trigger INT +- alertingProfile: CD_VPS-Trigger/alerting-profile/CDVPS-Trigger.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Trigger.CN-PreProd: +- name: CD_VPS-Trigger INT +- alertingProfile: CD_VPS-Trigger/alerting-profile/CDVPS-Trigger.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDVPS-TriggerITSM.EMEA-Prod: +- name: CD_VPS-Trigger ITSM PROD +- alertingProfile: CD_VPS-Trigger/alerting-profile/CDVPS-Trigger.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-TriggerITSM.NA-Prod: +- name: CD_VPS-Trigger ITSM PROD +- alertingProfile: CD_VPS-Trigger/alerting-profile/CDVPS-Trigger.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDVPS-TriggerITSM.CN-Prod: +- name: CD_VPS-Trigger ITSM PROD +- alertingProfile: CD_VPS-Trigger/alerting-profile/CDVPS-Trigger.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-TriggerITSM.EMEA-PreProd: +- name: CD_VPS-Trigger ITSM INT +- alertingProfile: CD_VPS-Trigger/alerting-profile/CDVPS-Trigger.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-TriggerITSM.NA-PreProd: +- name: CD_VPS-Trigger ITSM INT +- alertingProfile: CD_VPS-Trigger/alerting-profile/CDVPS-Trigger.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDVPS-TriggerITSM.CN-PreProd: +- name: CD_VPS-Trigger ITSM INT +- alertingProfile: CD_VPS-Trigger/alerting-profile/CDVPS-Trigger.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..fcbc89f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- VPS-Trigger: default.json + +VPS-Trigger: +- name: CD_VPS-Trigger - +- mzName: CD_VPS-Trigger/management-zone/CDVPS-Trigger.name +- mzId: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file From e7f7c1f23735687cae22ceaa98eaea45576b8fb9 Mon Sep 17 00:00:00 2001 From: "Qian Cheng (ext.)" Date: Thu, 30 Sep 2021 18:36:57 +0200 Subject: [PATCH 08/33] updated managed Zone (depend on ms-id) --- .../CD_smc2-bl/management-zone/default.json | 26 +++++++++++++++++++ .../management-zone/default.json | 26 +++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/BMW-Dynatrace-config/CD_smc2-bl/management-zone/default.json b/BMW-Dynatrace-config/CD_smc2-bl/management-zone/default.json index bffa0c3b..7980a336 100644 --- a/BMW-Dynatrace-config/CD_smc2-bl/management-zone/default.json +++ b/BMW-Dynatrace-config/CD_smc2-bl/management-zone/default.json @@ -109,6 +109,32 @@ "enabled": true, "propagationTypes": [], "type": "CLOUD_APPLICATION" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "ms-id", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS", + "type": "STATIC" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_HOST_LIKE", + "SERVICE_TO_PROCESS_GROUP_LIKE" + ], + "type": "SERVICE" } ] } \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_smc2-key-trk/management-zone/default.json b/BMW-Dynatrace-config/CD_smc2-key-trk/management-zone/default.json index bffa0c3b..7980a336 100644 --- a/BMW-Dynatrace-config/CD_smc2-key-trk/management-zone/default.json +++ b/BMW-Dynatrace-config/CD_smc2-key-trk/management-zone/default.json @@ -109,6 +109,32 @@ "enabled": true, "propagationTypes": [], "type": "CLOUD_APPLICATION" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "ms-id", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS", + "type": "STATIC" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_HOST_LIKE", + "SERVICE_TO_PROCESS_GROUP_LIKE" + ], + "type": "SERVICE" } ] } \ No newline at end of file From dd46373cbe18d778892f5cfa29ad34f26e807398 Mon Sep 17 00:00:00 2001 From: "Benjamin Fembacher (DE-822)" Date: Fri, 1 Oct 2021 10:32:31 +0200 Subject: [PATCH 09/33] OPMAAS-666 - Add initial configuration of application AudioVideoServices to Dynatrace --- .../alerting-profile/alerting-profile.yaml | 43 +++ .../alerting-profile/default.json | 103 ++++++ .../calculated-metrics-service/README.md | 4 + .../conditional-naming-processgroup/README.md | 4 + .../conditional-naming-processgroup.yaml | 8 + .../template.json | 29 ++ .../conditional-naming-service/README.md | 4 + .../conditional-naming-service.yaml | 8 + .../conditional-naming-service/template.json | 29 ++ .../custom-service-java/README.md | 4 + .../custom-service-java.yaml | 9 + .../custom-service-java/template-1-1.json | 23 ++ .../CD_AudioVideoServices/dashboard/README.md | 4 + .../dashboard/dashboard.yaml | 125 +++++++ .../dashboard/default.json | 309 ++++++++++++++++++ .../management-zone/README.md | 4 + .../management-zone/default.json | 114 +++++++ .../management-zone/management-zone.yaml | 6 + .../notification/README.md | 4 + .../notification/email.json | 13 + .../notification/itsm.json | 20 ++ .../notification/msTeams.json | 11 + .../notification/notification.yaml | 102 ++++++ .../synthetic-monitor/README.md | 4 + .../synthetic-monitor/default.json | 82 +++++ .../synthetic-monitor/synthetic-monitor.yaml | 10 + 26 files changed, 1076 insertions(+) create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/alerting-profile/default.json create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/calculated-metrics-service/README.md create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-processgroup/README.md create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-processgroup/conditional-naming-processgroup.yaml create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-processgroup/template.json create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-service/README.md create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-service/conditional-naming-service.yaml create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-service/template.json create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/custom-service-java/README.md create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/custom-service-java/custom-service-java.yaml create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/custom-service-java/template-1-1.json create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/README.md create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/dashboard.yaml create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/default.json create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/README.md create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/default.json create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/management-zone.yaml create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/notification/README.md create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/notification/email.json create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/notification/itsm.json create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/notification/msTeams.json create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/notification/notification.yaml create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/README.md create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/default.json create mode 100644 BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/synthetic-monitor.yaml diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_AudioVideoServices/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..02d9748a --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDnewComponentTag: default.json + + +#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" + +#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/BMW-Dynatrace-config/CD_AudioVideoServices/alerting-profile/default.json b/BMW-Dynatrace-config/CD_AudioVideoServices/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_AudioVideoServices/calculated-metrics-service/README.md new file mode 100644 index 00000000..9c2a1f2e --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..519727bf --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..be5821ec --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/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/CD_AudioVideoServices/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-service/README.md new file mode 100644 index 00000000..b6f10ae1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..be5821ec --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/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/CD_AudioVideoServices/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/custom-service-java/README.md b/BMW-Dynatrace-config/CD_AudioVideoServices/custom-service-java/README.md new file mode 100644 index 00000000..5f35e5c1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_AudioVideoServices/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_AudioVideoServices/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/README.md b/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/README.md new file mode 100644 index 00000000..f2f821ec --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/dashboard.yaml new file mode 100644 index 00000000..1b75b656 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/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: 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" + +#E2E dashboards for EMEA/NA/CN Prod +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" + +#INT dashboards for EMEA/NA/CN PreProd +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" + +#TEST dashboards for EMEA/NA/CN PreProd +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/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/default.json b/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/default.json new file mode 100644 index 00000000..ef07d18c --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/default.json @@ -0,0 +1,309 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.tag}}" + ], + "preset": true + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {} + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/README.md b/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/README.md new file mode 100644 index 00000000..3716858c --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/README.md @@ -0,0 +1,4 @@ + +### How to configure management zones? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/default.json b/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/default.json new file mode 100644 index 00000000..bffa0c3b --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/default.json @@ -0,0 +1,114 @@ +{ + "dimensionalRules": [], + "name": "{{.name}}", + "rules": [ + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "HOST_TAGS" + } + } + ], + "enabled": true, + "type": "HOST" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAMESPACE_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION_NAMESPACE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION" + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/management-zone.yaml new file mode 100644 index 00000000..635e9e71 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDnewComponentTag: default.json + +CDnewComponentTag: +- name: CD_managementZone +- tag: newComponentTag diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/notification/README.md b/BMW-Dynatrace-config/CD_AudioVideoServices/notification/README.md new file mode 100644 index 00000000..37cb85bc --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/notification/email.json b/BMW-Dynatrace-config/CD_AudioVideoServices/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/notification/itsm.json b/BMW-Dynatrace-config/CD_AudioVideoServices/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/notification/msTeams.json b/BMW-Dynatrace-config/CD_AudioVideoServices/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/notification/notification.yaml b/BMW-Dynatrace-config/CD_AudioVideoServices/notification/notification.yaml new file mode 100644 index 00000000..02544a84 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/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_managementZone PROD +- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-Prod: +- name: CD_managementZone PROD +- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-Prod: +- name: CD_managementZone PROD +- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDnewComponentTag.EMEA-PreProd: +- name: CD_managementZone INT +- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.NA-PreProd: +- name: CD_managementZone INT +- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" +CDnewComponentTag.CN-PreProd: +- name: CD_managementZone INT +- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDnewComponentTagITSM.EMEA-Prod: +- name: CD_managementZone ITSM PROD +- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_managementZone/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-Prod: +- name: CD_managementZone ITSM PROD +- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_managementZone/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-Prod: +- name: CD_managementZone ITSM PROD +- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_managementZone/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.EMEA-PreProd: +- name: CD_managementZone ITSM INT +- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_managementZone/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDnewComponentTagITSM.NA-PreProd: +- name: CD_managementZone ITSM INT +- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_managementZone/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDnewComponentTagITSM.CN-PreProd: +- name: CD_managementZone ITSM INT +- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_managementZone/management-zone/CDnewComponentTag.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/README.md new file mode 100644 index 00000000..1695924c --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..0ffabf57 --- /dev/null +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- newComponentTag: default.json + +newComponentTag: +- name: CD_managementZone - +- mzName: CD_managementZone/management-zone/CDnewComponentTag.name +- mzId: CD_managementZone/management-zone/CDnewComponentTag.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file From 674927c0f716f65d37cc0106ce88796cf449b6a6 Mon Sep 17 00:00:00 2001 From: rforstner Date: Fri, 1 Oct 2021 11:50:31 +0200 Subject: [PATCH 10/33] PAIS --- .../CD_PAIS/dashboard/dashboard.yaml | 32 +++++++++---------- .../CD_PAIS/dashboard/default.json | 8 ++--- .../CD_PAIS/management-zone/default.json | 6 ++-- .../management-zone/management-zone.yaml | 2 +- 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/BMW-Dynatrace-config/CD_PAIS/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_PAIS/dashboard/dashboard.yaml index 8102eba9..3f5e8e99 100644 --- a/BMW-Dynatrace-config/CD_PAIS/dashboard/dashboard.yaml +++ b/BMW-Dynatrace-config/CD_PAIS/dashboard/dashboard.yaml @@ -9,28 +9,28 @@ CDPAIS-PROD: - name: CD_PAIS PROD - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: PROD - skipDeployment: "true" CDPAIS-PROD.EMEA-Prod: - name: CD_PAIS PROD - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: PROD - skipDeployment: "false" CDPAIS-PROD.NA-Prod: - name: CD_PAIS PROD - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: PROD - skipDeployment: "false" CDPAIS-PROD.CN-Prod: - name: CD_PAIS PROD - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: PROD - skipDeployment: "false" @@ -39,28 +39,28 @@ CDPAIS-E2E: - name: CD_PAIS E2E - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: E2E - skipDeployment: "true" CDPAIS-E2E.EMEA-Prod: - name: CD_PAIS E2E - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: E2E - skipDeployment: "false" CDPAIS-E2E.NA-Prod: - name: CD_PAIS E2E - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: E2E - skipDeployment: "false" CDPAIS-E2E.CN-Prod: - name: CD_PAIS E2E - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: E2E - skipDeployment: "false" @@ -69,28 +69,28 @@ CDPAIS-INT: - name: CD_PAIS INT - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: INT - skipDeployment: "true" CDPAIS-INT.EMEA-PreProd: - name: CD_PAIS INT - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: INT - skipDeployment: "false" CDPAIS-INT.NA-PreProd: - name: CD_PAIS INT - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: INT - skipDeployment: "false" CDPAIS-INT.CN-PreProd: - name: CD_PAIS INT - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: INT - skipDeployment: "false" @@ -99,27 +99,27 @@ CDPAIS-TEST: - name: CD_PAIS TEST - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: TEST - skipDeployment: "true" CDPAIS-TEST.EMEA-PreProd: - name: CD_PAIS TEST - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: TEST - skipDeployment: "false" CDPAIS-TEST.NA-PreProd: - name: CD_PAIS TEST - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: TEST - skipDeployment: "false" CDPAIS-TEST.CN-PreProd: - name: CD_PAIS TEST - mzName: CD_PAIS/management-zone/CDPAIS.name - mzId: CD_PAIS/management-zone/CDPAIS.id -- tag: PAIS +- tag: pais - env: TEST - skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_PAIS/dashboard/default.json b/BMW-Dynatrace-config/CD_PAIS/dashboard/default.json index ef07d18c..d596ce1d 100644 --- a/BMW-Dynatrace-config/CD_PAIS/dashboard/default.json +++ b/BMW-Dynatrace-config/CD_PAIS/dashboard/default.json @@ -73,7 +73,7 @@ "SERVICE": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "ms-id:{{.tag}}" ] } } @@ -190,7 +190,7 @@ "SERVICE": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "ms-id:{{.tag}}" ] } } @@ -266,7 +266,7 @@ "SERVICE": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "ms-id:{{.tag}}" ] } } @@ -298,7 +298,7 @@ "HOST": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "ms-id:{{.tag}}" ] } } diff --git a/BMW-Dynatrace-config/CD_PAIS/management-zone/default.json b/BMW-Dynatrace-config/CD_PAIS/management-zone/default.json index bffa0c3b..aef2652c 100644 --- a/BMW-Dynatrace-config/CD_PAIS/management-zone/default.json +++ b/BMW-Dynatrace-config/CD_PAIS/management-zone/default.json @@ -11,7 +11,7 @@ "type": "TAG", "value": { "context": "CONTEXTLESS", - "key": "Component", + "key": "ms-id", "value": "{{.tag}}" } }, @@ -36,7 +36,7 @@ "type": "TAG", "value": { "context": "CONTEXTLESS", - "key": "Component", + "key": "ms-id", "value": "{{.tag}}" } }, @@ -60,7 +60,7 @@ "type": "TAG", "value": { "context": "CONTEXTLESS", - "key": "Component", + "key": "ms-id", "value": "{{.tag}}" } }, diff --git a/BMW-Dynatrace-config/CD_PAIS/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_PAIS/management-zone/management-zone.yaml index 2dd76a35..08a7d344 100644 --- a/BMW-Dynatrace-config/CD_PAIS/management-zone/management-zone.yaml +++ b/BMW-Dynatrace-config/CD_PAIS/management-zone/management-zone.yaml @@ -3,4 +3,4 @@ config: CDPAIS: - name: CD_PAIS -- tag: PAIS +- tag: pais From 7647783ccd4c99b927081d816ce076ea726aa333 Mon Sep 17 00:00:00 2001 From: mosadak al salamat Date: Fri, 1 Oct 2021 12:21:49 +0200 Subject: [PATCH 11/33] CDVPS-5198 - Add initial configuration of application VPS-Trigger to Dynatrace - Add database to application filters --- .../00_Global-Config/auto-tag/Component.json | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json index 7798807d..4d6e1c36 100644 --- a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json +++ b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json @@ -4209,6 +4209,37 @@ } } ] - } + }, + { + "type": "SERVICE", + "enabled": true, + "valueFormat": "VPS-Trigger", + "propagationTypes": [], + "conditions": [ + { + "key": { + "attribute": "SERVICE_TYPE" + }, + "comparisonInfo": { + "type": "SERVICE_TYPE", + "operator": "EQUALS", + "value": "DATABASE_SERVICE", + "negate": false + } + }, + { + "key": { + "attribute": "SERVICE_DATABASE_NAME" + }, + "comparisonInfo": { + "type": "STRING", + "operator": "CONTAINS", + "value": "cc", + "negate": false, + "caseSensitive": true + } + } + ] + } ] } \ No newline at end of file From 10ed4e504737f93f52769375f81e1186dfbaeec0 Mon Sep 17 00:00:00 2001 From: "SLW\\YELGIM" Date: Fri, 1 Oct 2021 13:01:20 +0200 Subject: [PATCH 12/33] fixed mzid reference --- .../alerting-profile/alerting-profile.yaml | 12 ++++++------ .../synthetic-monitor/synthetic-monitor.yaml | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/BMW-Dynatrace-config/CD_vps-trigger/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_vps-trigger/alerting-profile/alerting-profile.yaml index 21d3b4fa..e7fa8acb 100644 --- a/BMW-Dynatrace-config/CD_vps-trigger/alerting-profile/alerting-profile.yaml +++ b/BMW-Dynatrace-config/CD_vps-trigger/alerting-profile/alerting-profile.yaml @@ -6,19 +6,19 @@ config: CDVPS-Trigger.EMEA-Prod: - name: CD_VPS-Trigger PROD - tag: VPS-Trigger -- mzId: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- mzId: CD_vps-trigger/management-zone/CDVPS-Trigger.id - env: PROD - skipDeployment: "false" CDVPS-Trigger.NA-Prod: - name: CD_VPS-Trigger PROD - tag: VPS-Trigger -- mzId: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- mzId: CD_vps-trigger/management-zone/CDVPS-Trigger.id - env: PROD - skipDeployment: "false" CDVPS-Trigger.CN-Prod: - name: CD_VPS-Trigger PROD - tag: VPS-Trigger -- mzId: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- mzId: CD_vps-trigger/management-zone/CDVPS-Trigger.id - env: PROD - skipDeployment: "false" @@ -26,18 +26,18 @@ CDVPS-Trigger.CN-Prod: CDVPS-Trigger.EMEA-PreProd: - name: CD_VPS-Trigger INT - tag: VPS-Trigger -- mzId: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- mzId: CD_vps-trigger/management-zone/CDVPS-Trigger.id - env: INT - skipDeployment: "false" CDVPS-Trigger.NA-PreProd: - name: CD_VPS-Trigger INT - tag: VPS-Trigger -- mzId: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- mzId: CD_vps-trigger/management-zone/CDVPS-Trigger.id - env: INT - skipDeployment: "false" CDVPS-Trigger.CN-PreProd: - name: CD_VPS-Trigger INT - tag: VPS-Trigger -- mzId: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- mzId: CD_vps-trigger/management-zone/CDVPS-Trigger.id - env: INT - skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/synthetic-monitor.yaml index fcbc89f8..fcc27f27 100644 --- a/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/synthetic-monitor.yaml +++ b/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/synthetic-monitor.yaml @@ -3,8 +3,8 @@ config: VPS-Trigger: - name: CD_VPS-Trigger - -- mzName: CD_VPS-Trigger/management-zone/CDVPS-Trigger.name -- mzId: CD_VPS-Trigger/management-zone/CDVPS-Trigger.id +- mzName: CD_vps-trigger/management-zone/CDVPS-Trigger.name +- mzId: CD_vps-trigger/management-zone/CDVPS-Trigger.id - endpoint: - location: - skipDeployment: "true" \ No newline at end of file From 4726f114bbda6eed38c3e22c84c48ffc2cd472c7 Mon Sep 17 00:00:00 2001 From: "SLW\\YELGIM" Date: Fri, 1 Oct 2021 13:04:21 +0200 Subject: [PATCH 13/33] fixed CDvps-trigger --- .../alerting-profile/alerting-profile.yaml | 12 ++++++------ .../synthetic-monitor/synthetic-monitor.yaml | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/BMW-Dynatrace-config/CD_vps-trigger/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_vps-trigger/alerting-profile/alerting-profile.yaml index e7fa8acb..26971a05 100644 --- a/BMW-Dynatrace-config/CD_vps-trigger/alerting-profile/alerting-profile.yaml +++ b/BMW-Dynatrace-config/CD_vps-trigger/alerting-profile/alerting-profile.yaml @@ -6,19 +6,19 @@ config: CDVPS-Trigger.EMEA-Prod: - name: CD_VPS-Trigger PROD - tag: VPS-Trigger -- mzId: CD_vps-trigger/management-zone/CDVPS-Trigger.id +- mzId: CD_vps-trigger/management-zone/CDvps-trigger.id - env: PROD - skipDeployment: "false" CDVPS-Trigger.NA-Prod: - name: CD_VPS-Trigger PROD - tag: VPS-Trigger -- mzId: CD_vps-trigger/management-zone/CDVPS-Trigger.id +- mzId: CD_vps-trigger/management-zone/CDvps-trigger.id - env: PROD - skipDeployment: "false" CDVPS-Trigger.CN-Prod: - name: CD_VPS-Trigger PROD - tag: VPS-Trigger -- mzId: CD_vps-trigger/management-zone/CDVPS-Trigger.id +- mzId: CD_vps-trigger/management-zone/CDvps-trigger.id - env: PROD - skipDeployment: "false" @@ -26,18 +26,18 @@ CDVPS-Trigger.CN-Prod: CDVPS-Trigger.EMEA-PreProd: - name: CD_VPS-Trigger INT - tag: VPS-Trigger -- mzId: CD_vps-trigger/management-zone/CDVPS-Trigger.id +- mzId: CD_vps-trigger/management-zone/CDvps-trigger.id - env: INT - skipDeployment: "false" CDVPS-Trigger.NA-PreProd: - name: CD_VPS-Trigger INT - tag: VPS-Trigger -- mzId: CD_vps-trigger/management-zone/CDVPS-Trigger.id +- mzId: CD_vps-trigger/management-zone/CDvps-trigger.id - env: INT - skipDeployment: "false" CDVPS-Trigger.CN-PreProd: - name: CD_VPS-Trigger INT - tag: VPS-Trigger -- mzId: CD_vps-trigger/management-zone/CDVPS-Trigger.id +- mzId: CD_vps-trigger/management-zone/CDvps-trigger.id - env: INT - skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/synthetic-monitor.yaml index fcc27f27..d60c55ab 100644 --- a/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/synthetic-monitor.yaml +++ b/BMW-Dynatrace-config/CD_vps-trigger/synthetic-monitor/synthetic-monitor.yaml @@ -3,8 +3,8 @@ config: VPS-Trigger: - name: CD_VPS-Trigger - -- mzName: CD_vps-trigger/management-zone/CDVPS-Trigger.name -- mzId: CD_vps-trigger/management-zone/CDVPS-Trigger.id +- mzName: CD_vps-trigger/management-zone/CDvps-trigger.name +- mzId: CD_vps-trigger/management-zone/CDvps-trigger.id - endpoint: - location: - skipDeployment: "true" \ No newline at end of file From 9c013e30047c0646a210b5097ff1ef435a79f38e Mon Sep 17 00:00:00 2001 From: ermisw Date: Fri, 1 Oct 2021 14:59:51 +0200 Subject: [PATCH 14/33] some dashboard fixes (ms-id) --- .../CD_ccc/dashboard/default copy.json | 308 ++++++++++++++++++ .../CD_ccc/dashboard/default.json | 19 +- 2 files changed, 318 insertions(+), 9 deletions(-) create mode 100644 BMW-Dynatrace-config/CD_ccc/dashboard/default copy.json diff --git a/BMW-Dynatrace-config/CD_ccc/dashboard/default copy.json b/BMW-Dynatrace-config/CD_ccc/dashboard/default copy.json new file mode 100644 index 00000000..6c685810 --- /dev/null +++ b/BMW-Dynatrace-config/CD_ccc/dashboard/default copy.json @@ -0,0 +1,308 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.tag}}" + ] + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {} + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ccc/dashboard/default.json b/BMW-Dynatrace-config/CD_ccc/dashboard/default.json index 6c685810..96995020 100644 --- a/BMW-Dynatrace-config/CD_ccc/dashboard/default.json +++ b/BMW-Dynatrace-config/CD_ccc/dashboard/default.json @@ -1,9 +1,9 @@ { "metadata": { "configurationVersions": [ - 3 + 5 ], - "clusterVersion": "1.214.107.20210407-223952" + "clusterVersion": "1.226.91.20210918-122217" }, "dashboardMetadata": { "name": "{{.name}}", @@ -13,8 +13,9 @@ "timeframe": "-24h to now" }, "tags": [ - "{{.tag}}" - ] + "ccc" + ], + "preset": true }, "tiles": [ { @@ -72,7 +73,7 @@ "SERVICE": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "ms-id:ccc " ] } } @@ -189,7 +190,7 @@ "SERVICE": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "ms-id:ccc " ] } } @@ -233,7 +234,7 @@ "DATABASE": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "Component:ccc" ] } } @@ -265,7 +266,7 @@ "SERVICE": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "ms-id:ccc " ] } } @@ -297,7 +298,7 @@ "HOST": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "Component:Call Center Client" ] } } From a02b57aff947dd0cfeeb79fb5d925c453514d443 Mon Sep 17 00:00:00 2001 From: ermisw Date: Fri, 1 Oct 2021 16:01:45 +0200 Subject: [PATCH 15/33] initial onboarding, Dashboard und management zone fix --- .../alerting-profile/alerting-profile.yaml | 50 +++--- .../conditional-naming-processgroup.yaml | 6 +- .../conditional-naming-service.yaml | 6 +- .../dashboard/dashboard.yaml | 168 +++++++++--------- .../dashboard/default.json | 57 ++++-- .../management-zone/default.json | 129 +++++++++++++- .../management-zone/management-zone.yaml | 8 +- .../notification/notification.yaml | 88 ++++----- .../synthetic-monitor/synthetic-monitor.yaml | 10 +- 9 files changed, 336 insertions(+), 186 deletions(-) diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_AudioVideoServices/alerting-profile/alerting-profile.yaml index 02d9748a..137d192c 100644 --- a/BMW-Dynatrace-config/CD_AudioVideoServices/alerting-profile/alerting-profile.yaml +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/alerting-profile/alerting-profile.yaml @@ -1,43 +1,43 @@ config: -- CDnewComponentTag: default.json +- CDAudioVideoServices: default.json #Prod alerting profiles for EMEA/NA/CN -CDnewComponentTag.EMEA-Prod: -- name: CD_managementZone PROD -- tag: newComponentTag -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id +CDAudioVideoServices.EMEA-Prod: +- name: CD_AudioVideoServices PROD +- tag: AudioVideoServices +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id - env: PROD - skipDeployment: "false" -CDnewComponentTag.NA-Prod: -- name: CD_managementZone PROD -- tag: newComponentTag -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id +CDAudioVideoServices.NA-Prod: +- name: CD_AudioVideoServices PROD +- tag: AudioVideoServices +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id - env: PROD - skipDeployment: "false" -CDnewComponentTag.CN-Prod: -- name: CD_managementZone PROD -- tag: newComponentTag -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id +CDAudioVideoServices.CN-Prod: +- name: CD_AudioVideoServices PROD +- tag: AudioVideoServices +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id - env: PROD - skipDeployment: "false" #INT alerting profiles for EMEA/NA/CN -CDnewComponentTag.EMEA-PreProd: -- name: CD_managementZone INT -- tag: newComponentTag -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id +CDAudioVideoServices.EMEA-PreProd: +- name: CD_AudioVideoServices INT +- tag: AudioVideoServices +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id - env: INT - skipDeployment: "false" -CDnewComponentTag.NA-PreProd: -- name: CD_managementZone INT -- tag: newComponentTag -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id +CDAudioVideoServices.NA-PreProd: +- name: CD_AudioVideoServices INT +- tag: AudioVideoServices +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id - env: INT - skipDeployment: "false" -CDnewComponentTag.CN-PreProd: -- name: CD_managementZone INT -- tag: newComponentTag -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id +CDAudioVideoServices.CN-PreProd: +- name: CD_AudioVideoServices INT +- tag: AudioVideoServices +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id - env: INT - skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-processgroup/conditional-naming-processgroup.yaml index be5821ec..71c7b34a 100644 --- a/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-processgroup/conditional-naming-processgroup.yaml +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -1,8 +1,8 @@ config: -- CDnewComponentTag: template.json +- CDAudioVideoServices: template.json -CDnewComponentTag: +CDAudioVideoServices: - name: MyProcessNamingRule - nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" -- tag: newComponentTag +- tag: AudioVideoServices - skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-service/conditional-naming-service.yaml index be5821ec..71c7b34a 100644 --- a/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-service/conditional-naming-service.yaml +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/conditional-naming-service/conditional-naming-service.yaml @@ -1,8 +1,8 @@ config: -- CDnewComponentTag: template.json +- CDAudioVideoServices: template.json -CDnewComponentTag: +CDAudioVideoServices: - name: MyProcessNamingRule - nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" -- tag: newComponentTag +- tag: AudioVideoServices - skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/dashboard.yaml index 1b75b656..eece26f5 100644 --- a/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/dashboard.yaml +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/dashboard.yaml @@ -1,125 +1,125 @@ config: -- CDnewComponentTag-PROD: default.json -- CDnewComponentTag-E2E: default.json -- CDnewComponentTag-INT: default.json -- CDnewComponentTag-TEST: default.json +- CDAudioVideoServices-PROD: default.json +- CDAudioVideoServices-E2E: default.json +- CDAudioVideoServices-INT: default.json +- CDAudioVideoServices-TEST: default.json #PROD dashboards for EMEA/NA/CN Prod -CDnewComponentTag-PROD: -- name: CD_managementZone PROD -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag +CDAudioVideoServices-PROD: +- name: CD_AudioVideoServices PROD +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices - env: PROD - skipDeployment: "true" -CDnewComponentTag-PROD.EMEA-Prod: -- name: CD_managementZone PROD -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag +CDAudioVideoServices-PROD.EMEA-Prod: +- name: CD_AudioVideoServices PROD +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices - env: PROD - skipDeployment: "false" -CDnewComponentTag-PROD.NA-Prod: -- name: CD_managementZone PROD -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag +CDAudioVideoServices-PROD.NA-Prod: +- name: CD_AudioVideoServices PROD +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices - env: PROD - skipDeployment: "false" -CDnewComponentTag-PROD.CN-Prod: -- name: CD_managementZone PROD -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag +CDAudioVideoServices-PROD.CN-Prod: +- name: CD_AudioVideoServices PROD +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices - env: PROD - skipDeployment: "false" #E2E dashboards for EMEA/NA/CN Prod -CDnewComponentTag-E2E: -- name: CD_managementZone E2E -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag +CDAudioVideoServices-E2E: +- name: CD_AudioVideoServices E2E +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices - env: E2E - skipDeployment: "true" -CDnewComponentTag-E2E.EMEA-Prod: -- name: CD_managementZone E2E -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag +CDAudioVideoServices-E2E.EMEA-Prod: +- name: CD_AudioVideoServices E2E +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices - env: E2E - skipDeployment: "false" -CDnewComponentTag-E2E.NA-Prod: -- name: CD_managementZone E2E -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag +CDAudioVideoServices-E2E.NA-Prod: +- name: CD_AudioVideoServices E2E +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices - env: E2E - skipDeployment: "false" -CDnewComponentTag-E2E.CN-Prod: -- name: CD_managementZone E2E -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag +CDAudioVideoServices-E2E.CN-Prod: +- name: CD_AudioVideoServices E2E +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices - env: E2E - skipDeployment: "false" #INT dashboards for EMEA/NA/CN PreProd -CDnewComponentTag-INT: -- name: CD_managementZone INT -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag +CDAudioVideoServices-INT: +- name: CD_AudioVideoServices INT +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices - env: INT - skipDeployment: "true" -CDnewComponentTag-INT.EMEA-PreProd: -- name: CD_managementZone INT -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag +CDAudioVideoServices-INT.EMEA-PreProd: +- name: CD_AudioVideoServices INT +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices - env: INT - skipDeployment: "false" -CDnewComponentTag-INT.NA-PreProd: -- name: CD_managementZone INT -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag +CDAudioVideoServices-INT.NA-PreProd: +- name: CD_AudioVideoServices INT +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices - env: INT - skipDeployment: "false" -CDnewComponentTag-INT.CN-PreProd: -- name: CD_managementZone INT -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag +CDAudioVideoServices-INT.CN-PreProd: +- name: CD_AudioVideoServices INT +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices - env: INT - skipDeployment: "false" #TEST dashboards for EMEA/NA/CN PreProd -CDnewComponentTag-TEST: -- name: CD_managementZone TEST -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag +CDAudioVideoServices-TEST: +- name: CD_AudioVideoServices TEST +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices - env: TEST - skipDeployment: "true" -CDnewComponentTag-TEST.EMEA-PreProd: -- name: CD_managementZone TEST -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag +CDAudioVideoServices-TEST.EMEA-PreProd: +- name: CD_AudioVideoServices TEST +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices - env: TEST - skipDeployment: "false" -CDnewComponentTag-TEST.NA-PreProd: -- name: CD_managementZone TEST -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag +CDAudioVideoServices-TEST.NA-PreProd: +- name: CD_AudioVideoServices TEST +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices - env: TEST - skipDeployment: "false" -CDnewComponentTag-TEST.CN-PreProd: -- name: CD_managementZone TEST -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id -- tag: newComponentTag +CDAudioVideoServices-TEST.CN-PreProd: +- name: CD_AudioVideoServices TEST +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id +- tag: AudioVideoServices - env: TEST - skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/default.json b/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/default.json index ef07d18c..67bc1212 100644 --- a/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/default.json +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/dashboard/default.json @@ -28,7 +28,12 @@ "width": 1064, "height": 304 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "MIXED", "customName": "Failure rate (HTTP 4xx/5xx errors)", @@ -72,8 +77,7 @@ "filtersPerEntityType": { "SERVICE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -106,7 +110,12 @@ "width": 1064, "height": 38 }, - "tileFilter": {} + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } }, { "name": "Markdown", @@ -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_AudioVideoServices/management-zone/default.json b/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/default.json index bffa0c3b..61d6ff76 100644 --- a/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/default.json +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/default.json @@ -109,6 +109,131 @@ "enabled": true, "propagationTypes": [], "type": "CLOUD_APPLICATION" - } + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "ms-id", + "value": "cm-spotify" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "ms-id", + "value": "ise-connectedradio" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "ms-id", + "value": "cm-config" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "ms-id", + "value": "cm-gracenote" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "ms-id", + "value": "cm-ximalaya" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + } ] -} \ No newline at end of file +} diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/management-zone.yaml index 635e9e71..a8372d89 100644 --- a/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/management-zone.yaml +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/management-zone/management-zone.yaml @@ -1,6 +1,6 @@ config: -- CDnewComponentTag: default.json +- CDAudioVideoServices: default.json -CDnewComponentTag: -- name: CD_managementZone -- tag: newComponentTag +CDAudioVideoServices: +- name: CD_AudioVideoServices +- tag: AudioVideoServices diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/notification/notification.yaml b/BMW-Dynatrace-config/CD_AudioVideoServices/notification/notification.yaml index 02544a84..ad47eb99 100644 --- a/BMW-Dynatrace-config/CD_AudioVideoServices/notification/notification.yaml +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/notification/notification.yaml @@ -1,102 +1,102 @@ config: -- CDnewComponentTag: msTeams.json -- CDnewComponentTagITSM: itsm.json +- CDAudioVideoServices: msTeams.json +- CDAudioVideoServicesITSM: itsm.json # Notification System for EMEA/NA/CN Prod msTeams -CDnewComponentTag.EMEA-Prod: -- name: CD_managementZone PROD -- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag.id +CDAudioVideoServices.EMEA-Prod: +- name: CD_AudioVideoServices PROD +- alertingProfile: CD_AudioVideoServices/alerting-profile/CDAudioVideoServices.id - webhook: https://empty - skipDeployment: "true" -CDnewComponentTag.NA-Prod: -- name: CD_managementZone PROD -- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag.id +CDAudioVideoServices.NA-Prod: +- name: CD_AudioVideoServices PROD +- alertingProfile: CD_AudioVideoServices/alerting-profile/CDAudioVideoServices.id - webhook: https://empty - skipDeployment: "true" -CDnewComponentTag.CN-Prod: -- name: CD_managementZone PROD -- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag.id +CDAudioVideoServices.CN-Prod: +- name: CD_AudioVideoServices PROD +- alertingProfile: CD_AudioVideoServices/alerting-profile/CDAudioVideoServices.id - webhook: https://empty - skipDeployment: "true" # Notification System for EMEA/NA/CN PreProd msTeams -CDnewComponentTag.EMEA-PreProd: -- name: CD_managementZone INT -- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag.id +CDAudioVideoServices.EMEA-PreProd: +- name: CD_AudioVideoServices INT +- alertingProfile: CD_AudioVideoServices/alerting-profile/CDAudioVideoServices.id - webhook: https://empty - skipDeployment: "true" -CDnewComponentTag.NA-PreProd: -- name: CD_managementZone INT -- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag.id +CDAudioVideoServices.NA-PreProd: +- name: CD_AudioVideoServices INT +- alertingProfile: CD_AudioVideoServices/alerting-profile/CDAudioVideoServices.id - webhook: https://empty - skipDeployment: "true" -CDnewComponentTag.CN-PreProd: -- name: CD_managementZone INT -- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag.id +CDAudioVideoServices.CN-PreProd: +- name: CD_AudioVideoServices INT +- alertingProfile: CD_AudioVideoServices/alerting-profile/CDAudioVideoServices.id - webhook: https://empty - skipDeployment: "true" # Notification System for EMEA/NA/CN Prod ITSM -CDnewComponentTagITSM.EMEA-Prod: -- name: CD_managementZone ITSM PROD -- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag.id +CDAudioVideoServicesITSM.EMEA-Prod: +- name: CD_AudioVideoServices ITSM PROD +- alertingProfile: CD_AudioVideoServices/alerting-profile/CDAudioVideoServices.id - webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 - contractid: "10APP11906401" - appdid: "TEST123" -- mzName: CD_managementZone/management-zone/CDnewComponentTag.id +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id - DTEnvironment: https://xxu26128.live.dynatrace.com - skipDeployment: "true" -CDnewComponentTagITSM.NA-Prod: -- name: CD_managementZone ITSM PROD -- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag.id +CDAudioVideoServicesITSM.NA-Prod: +- name: CD_AudioVideoServices ITSM PROD +- alertingProfile: CD_AudioVideoServices/alerting-profile/CDAudioVideoServices.id - webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 - contractid: "10APP11906401" - appdid: "TEST123" -- mzName: CD_managementZone/management-zone/CDnewComponentTag.id +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id - DTEnvironment: https://xxu26128.live.dynatrace.com - skipDeployment: "true" -CDnewComponentTagITSM.CN-Prod: -- name: CD_managementZone ITSM PROD -- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag.id +CDAudioVideoServicesITSM.CN-Prod: +- name: CD_AudioVideoServices ITSM PROD +- alertingProfile: CD_AudioVideoServices/alerting-profile/CDAudioVideoServices.id - webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 - contractid: "10APP11906401" - appdid: "TEST123" -- mzName: CD_managementZone/management-zone/CDnewComponentTag.id +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id - DTEnvironment: https://xxu26128.live.dynatrace.com - skipDeployment: "true" -CDnewComponentTagITSM.EMEA-PreProd: -- name: CD_managementZone ITSM INT -- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag.id +CDAudioVideoServicesITSM.EMEA-PreProd: +- name: CD_AudioVideoServices ITSM INT +- alertingProfile: CD_AudioVideoServices/alerting-profile/CDAudioVideoServices.id - webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 - contractid: "10APP11906401" - appdid: "TEST123" -- mzName: CD_managementZone/management-zone/CDnewComponentTag.id +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id - DTEnvironment: https://xxu26128.live.dynatrace.com - skipDeployment: "true" -CDnewComponentTagITSM.NA-PreProd: -- name: CD_managementZone ITSM INT -- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag.id +CDAudioVideoServicesITSM.NA-PreProd: +- name: CD_AudioVideoServices ITSM INT +- alertingProfile: CD_AudioVideoServices/alerting-profile/CDAudioVideoServices.id - webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 - contractid: "10APP11906401" - appdid: "TEST123" -- mzName: CD_managementZone/management-zone/CDnewComponentTag.id +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id - DTEnvironment: https://xxu26128.live.dynatrace.com - skipDeployment: "true" -CDnewComponentTagITSM.CN-PreProd: -- name: CD_managementZone ITSM INT -- alertingProfile: CD_managementZone/alerting-profile/CDnewComponentTag.id +CDAudioVideoServicesITSM.CN-PreProd: +- name: CD_AudioVideoServices ITSM INT +- alertingProfile: CD_AudioVideoServices/alerting-profile/CDAudioVideoServices.id - webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 - contractid: "10APP11906401" - appdid: "TEST123" -- mzName: CD_managementZone/management-zone/CDnewComponentTag.id +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id - DTEnvironment: https://xxu26128.live.dynatrace.com - skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/synthetic-monitor.yaml index 0ffabf57..fa1bf163 100644 --- a/BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/synthetic-monitor.yaml +++ b/BMW-Dynatrace-config/CD_AudioVideoServices/synthetic-monitor/synthetic-monitor.yaml @@ -1,10 +1,10 @@ config: -- newComponentTag: default.json +- AudioVideoServices: default.json -newComponentTag: -- name: CD_managementZone - -- mzName: CD_managementZone/management-zone/CDnewComponentTag.name -- mzId: CD_managementZone/management-zone/CDnewComponentTag.id +AudioVideoServices: +- name: CD_AudioVideoServices - +- mzName: CD_AudioVideoServices/management-zone/CDAudioVideoServices.name +- mzId: CD_AudioVideoServices/management-zone/CDAudioVideoServices.id - endpoint: - location: - skipDeployment: "true" \ No newline at end of file From 72f92c7cb2c949eda8d295bab343a6adc997795e Mon Sep 17 00:00:00 2001 From: mosadak al salamat Date: Mon, 4 Oct 2021 08:24:02 +0200 Subject: [PATCH 16/33] CDVPS-5199 - Add initial configuration of application VPS-Prov to Dynatrace --- .../alerting-profile/alerting-profile.yaml | 43 ++++++++ .../CD_vps-prov/alerting-profile/default.json | 103 ++++++++++++++++++ .../calculated-metrics-service/README.md | 4 + .../conditional-naming-processgroup/README.md | 4 + .../conditional-naming-processgroup.yaml | 8 ++ .../template.json | 29 +++++ .../conditional-naming-service/README.md | 4 + .../conditional-naming-service.yaml | 8 ++ .../conditional-naming-service/template.json | 29 +++++ .../CD_vps-prov/notification/README.md | 4 + .../CD_vps-prov/notification/email.json | 13 +++ .../CD_vps-prov/notification/itsm.json | 20 ++++ .../CD_vps-prov/notification/msTeams.json | 11 ++ .../notification/notification.yaml | 102 +++++++++++++++++ .../CD_vps-prov/synthetic-monitor/README.md | 4 + .../synthetic-monitor/default.json | 82 ++++++++++++++ .../synthetic-monitor/synthetic-monitor.yaml | 10 ++ 17 files changed, 478 insertions(+) create mode 100644 BMW-Dynatrace-config/CD_vps-prov/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_vps-prov/alerting-profile/default.json create mode 100644 BMW-Dynatrace-config/CD_vps-prov/calculated-metrics-service/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/conditional-naming-processgroup.yaml create mode 100644 BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/template.json create mode 100644 BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/conditional-naming-service.yaml create mode 100644 BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/template.json create mode 100644 BMW-Dynatrace-config/CD_vps-prov/notification/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-prov/notification/email.json create mode 100644 BMW-Dynatrace-config/CD_vps-prov/notification/itsm.json create mode 100644 BMW-Dynatrace-config/CD_vps-prov/notification/msTeams.json create mode 100644 BMW-Dynatrace-config/CD_vps-prov/notification/notification.yaml create mode 100644 BMW-Dynatrace-config/CD_vps-prov/synthetic-monitor/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-prov/synthetic-monitor/default.json create mode 100644 BMW-Dynatrace-config/CD_vps-prov/synthetic-monitor/synthetic-monitor.yaml diff --git a/BMW-Dynatrace-config/CD_vps-prov/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_vps-prov/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..399d0914 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDVPS-Prov: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDVPS-Prov.EMEA-Prod: +- name: CD_VPS-Prov PROD +- tag: VPS-Prov +- mzId: CD_vps-prov/management-zone/CDvps-prov.id +- env: PROD +- skipDeployment: "false" +CDVPS-Prov.NA-Prod: +- name: CD_VPS-Prov PROD +- tag: VPS-Prov +- mzId: CD_vps-prov/management-zone/CDvps-prov.id +- env: PROD +- skipDeployment: "false" +CDVPS-Prov.CN-Prod: +- name: CD_VPS-Prov PROD +- tag: VPS-Prov +- mzId: CD_vps-prov/management-zone/CDvps-prov.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDVPS-Prov.EMEA-PreProd: +- name: CD_VPS-Prov INT +- tag: VPS-Prov +- mzId: CD_vps-prov/management-zone/CDvps-prov.id +- env: INT +- skipDeployment: "false" +CDVPS-Prov.NA-PreProd: +- name: CD_VPS-Prov INT +- tag: VPS-Prov +- mzId: CD_vps-prov/management-zone/CDvps-prov.id +- env: INT +- skipDeployment: "false" +CDVPS-Prov.CN-PreProd: +- name: CD_VPS-Prov INT +- tag: VPS-Prov +- mzId: CD_vps-prov/management-zone/CDvps-prov.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/alerting-profile/default.json b/BMW-Dynatrace-config/CD_vps-prov/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_vps-prov/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..281bc79b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDVPS-Prov: template.json + +CDVPS-Prov: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: VPS-Prov +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..281bc79b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDVPS-Prov: template.json + +CDVPS-Prov: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: VPS-Prov +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/notification/README.md b/BMW-Dynatrace-config/CD_vps-prov/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/notification/email.json b/BMW-Dynatrace-config/CD_vps-prov/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/notification/itsm.json b/BMW-Dynatrace-config/CD_vps-prov/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_vps-prov/notification/msTeams.json b/BMW-Dynatrace-config/CD_vps-prov/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/notification/notification.yaml b/BMW-Dynatrace-config/CD_vps-prov/notification/notification.yaml new file mode 100644 index 00000000..379536ef --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDVPS-Prov: msTeams.json +- CDVPS-ProvITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDVPS-Prov.EMEA-Prod: +- name: CD_VPS-Prov PROD +- alertingProfile: CD_VPS-Prov/alerting-profile/CDVPS-Prov.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Prov.NA-Prod: +- name: CD_VPS-Prov PROD +- alertingProfile: CD_VPS-Prov/alerting-profile/CDVPS-Prov.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Prov.CN-Prod: +- name: CD_VPS-Prov PROD +- alertingProfile: CD_VPS-Prov/alerting-profile/CDVPS-Prov.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDVPS-Prov.EMEA-PreProd: +- name: CD_VPS-Prov INT +- alertingProfile: CD_VPS-Prov/alerting-profile/CDVPS-Prov.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Prov.NA-PreProd: +- name: CD_VPS-Prov INT +- alertingProfile: CD_VPS-Prov/alerting-profile/CDVPS-Prov.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Prov.CN-PreProd: +- name: CD_VPS-Prov INT +- alertingProfile: CD_VPS-Prov/alerting-profile/CDVPS-Prov.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDVPS-ProvITSM.EMEA-Prod: +- name: CD_VPS-Prov ITSM PROD +- alertingProfile: CD_VPS-Prov/alerting-profile/CDVPS-Prov.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Prov/management-zone/CDVPS-Prov.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-ProvITSM.NA-Prod: +- name: CD_VPS-Prov ITSM PROD +- alertingProfile: CD_VPS-Prov/alerting-profile/CDVPS-Prov.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Prov/management-zone/CDVPS-Prov.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDVPS-ProvITSM.CN-Prod: +- name: CD_VPS-Prov ITSM PROD +- alertingProfile: CD_VPS-Prov/alerting-profile/CDVPS-Prov.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Prov/management-zone/CDVPS-Prov.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-ProvITSM.EMEA-PreProd: +- name: CD_VPS-Prov ITSM INT +- alertingProfile: CD_VPS-Prov/alerting-profile/CDVPS-Prov.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Prov/management-zone/CDVPS-Prov.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-ProvITSM.NA-PreProd: +- name: CD_VPS-Prov ITSM INT +- alertingProfile: CD_VPS-Prov/alerting-profile/CDVPS-Prov.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Prov/management-zone/CDVPS-Prov.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDVPS-ProvITSM.CN-PreProd: +- name: CD_VPS-Prov ITSM INT +- alertingProfile: CD_VPS-Prov/alerting-profile/CDVPS-Prov.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Prov/management-zone/CDVPS-Prov.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_vps-prov/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_vps-prov/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_vps-prov/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_vps-prov/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..16f957c5 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-prov/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- VPS-Prov: default.json + +VPS-Prov: +- name: CD_VPS-Prov - +- mzName: CD_vps-prov/management-zone/CDvps-prov.name +- mzId: CD_vps-prov/management-zone/CDvps-prov.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file From c2292212c8ee8ce6a1d73fcea3af7179cbb24033 Mon Sep 17 00:00:00 2001 From: mosadak al salamat Date: Mon, 4 Oct 2021 14:31:42 +0200 Subject: [PATCH 17/33] CDVPS-5201 - Add initial configuration of application VPS-Archive to Dynatrace --- .../00_Global-Config/auto-tag/Component.json | 31 ++++++ .../alerting-profile/alerting-profile.yaml | 43 ++++++++ .../alerting-profile/default.json | 103 ++++++++++++++++++ .../calculated-metrics-service/README.md | 4 + .../conditional-naming-processgroup/README.md | 4 + .../conditional-naming-processgroup.yaml | 8 ++ .../template.json | 29 +++++ .../conditional-naming-service/README.md | 4 + .../conditional-naming-service.yaml | 8 ++ .../conditional-naming-service/template.json | 29 +++++ .../custom-service-java/README.md | 4 + .../custom-service-java.yaml | 9 ++ .../custom-service-java/template-1-1.json | 23 ++++ .../CD_vps-archive/notification/README.md | 4 + .../CD_vps-archive/notification/email.json | 13 +++ .../CD_vps-archive/notification/itsm.json | 20 ++++ .../CD_vps-archive/notification/msTeams.json | 11 ++ .../notification/notification.yaml | 102 +++++++++++++++++ .../synthetic-monitor/README.md | 4 + .../synthetic-monitor/default.json | 82 ++++++++++++++ .../synthetic-monitor/synthetic-monitor.yaml | 10 ++ 21 files changed, 545 insertions(+) create mode 100644 BMW-Dynatrace-config/CD_vps-archive/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_vps-archive/alerting-profile/default.json create mode 100644 BMW-Dynatrace-config/CD_vps-archive/calculated-metrics-service/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/conditional-naming-processgroup.yaml create mode 100644 BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/template.json create mode 100644 BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/conditional-naming-service.yaml create mode 100644 BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/template.json create mode 100644 BMW-Dynatrace-config/CD_vps-archive/custom-service-java/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-archive/custom-service-java/custom-service-java.yaml create mode 100644 BMW-Dynatrace-config/CD_vps-archive/custom-service-java/template-1-1.json create mode 100644 BMW-Dynatrace-config/CD_vps-archive/notification/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-archive/notification/email.json create mode 100644 BMW-Dynatrace-config/CD_vps-archive/notification/itsm.json create mode 100644 BMW-Dynatrace-config/CD_vps-archive/notification/msTeams.json create mode 100644 BMW-Dynatrace-config/CD_vps-archive/notification/notification.yaml create mode 100644 BMW-Dynatrace-config/CD_vps-archive/synthetic-monitor/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-archive/synthetic-monitor/default.json create mode 100644 BMW-Dynatrace-config/CD_vps-archive/synthetic-monitor/synthetic-monitor.yaml diff --git a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json index 4d6e1c36..397dd438 100644 --- a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json +++ b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json @@ -4240,6 +4240,37 @@ } } ] + }, + { + "type": "SERVICE", + "enabled": true, + "valueFormat": "VPS-Archive", + "propagationTypes": [], + "conditions": [ + { + "key": { + "attribute": "SERVICE_TYPE" + }, + "comparisonInfo": { + "type": "SERVICE_TYPE", + "operator": "EQUALS", + "value": "DATABASE_SERVICE", + "negate": false + } + }, + { + "key": { + "attribute": "SERVICE_DATABASE_NAME" + }, + "comparisonInfo": { + "type": "STRING", + "operator": "CONTAINS", + "value": "cc", + "negate": false, + "caseSensitive": true + } + } + ] } ] } \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_vps-archive/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..433d274b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDVPS-Archive: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDVPS-Archive.EMEA-Prod: +- name: CD_VPS-Archive PROD +- tag: VPS-Archive +- mzId: CD_vps-archive/management-zone/CDvps-archive.id +- env: PROD +- skipDeployment: "false" +CDVPS-Archive.NA-Prod: +- name: CD_VPS-Archive PROD +- tag: VPS-Archive +- mzId: CD_vps-archive/management-zone/CDvps-archive.id +- env: PROD +- skipDeployment: "false" +CDVPS-Archive.CN-Prod: +- name: CD_VPS-Archive PROD +- tag: VPS-Archive +- mzId: CD_vps-archive/management-zone/CDvps-archive.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDVPS-Archive.EMEA-PreProd: +- name: CD_VPS-Archive INT +- tag: VPS-Archive +- mzId: CD_vps-archive/management-zone/CDvps-archive.id +- env: INT +- skipDeployment: "false" +CDVPS-Archive.NA-PreProd: +- name: CD_VPS-Archive INT +- tag: VPS-Archive +- mzId: CD_vps-archive/management-zone/CDvps-archive.id +- env: INT +- skipDeployment: "false" +CDVPS-Archive.CN-PreProd: +- name: CD_VPS-Archive INT +- tag: VPS-Archive +- mzId: CD_vps-archive/management-zone/CDvps-archive.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/alerting-profile/default.json b/BMW-Dynatrace-config/CD_vps-archive/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_vps-archive/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..a2e4029f --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDVPS-Archive: template.json + +CDVPS-Archive: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: VPS-Archive +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..a2e4029f --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDVPS-Archive: template.json + +CDVPS-Archive: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: VPS-Archive +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/custom-service-java/README.md b/BMW-Dynatrace-config/CD_vps-archive/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_vps-archive/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_vps-archive/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/notification/README.md b/BMW-Dynatrace-config/CD_vps-archive/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/notification/email.json b/BMW-Dynatrace-config/CD_vps-archive/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/notification/itsm.json b/BMW-Dynatrace-config/CD_vps-archive/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_vps-archive/notification/msTeams.json b/BMW-Dynatrace-config/CD_vps-archive/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/notification/notification.yaml b/BMW-Dynatrace-config/CD_vps-archive/notification/notification.yaml new file mode 100644 index 00000000..311299c0 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDVPS-Archive: msTeams.json +- CDVPS-ArchiveITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDVPS-Archive.EMEA-Prod: +- name: CD_VPS-Archive PROD +- alertingProfile: CD_VPS-Archive/alerting-profile/CDVPS-Archive.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Archive.NA-Prod: +- name: CD_VPS-Archive PROD +- alertingProfile: CD_VPS-Archive/alerting-profile/CDVPS-Archive.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Archive.CN-Prod: +- name: CD_VPS-Archive PROD +- alertingProfile: CD_VPS-Archive/alerting-profile/CDVPS-Archive.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDVPS-Archive.EMEA-PreProd: +- name: CD_VPS-Archive INT +- alertingProfile: CD_VPS-Archive/alerting-profile/CDVPS-Archive.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Archive.NA-PreProd: +- name: CD_VPS-Archive INT +- alertingProfile: CD_VPS-Archive/alerting-profile/CDVPS-Archive.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Archive.CN-PreProd: +- name: CD_VPS-Archive INT +- alertingProfile: CD_VPS-Archive/alerting-profile/CDVPS-Archive.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDVPS-ArchiveITSM.EMEA-Prod: +- name: CD_VPS-Archive ITSM PROD +- alertingProfile: CD_VPS-Archive/alerting-profile/CDVPS-Archive.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Archive/management-zone/CDVPS-Archive.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-ArchiveITSM.NA-Prod: +- name: CD_VPS-Archive ITSM PROD +- alertingProfile: CD_VPS-Archive/alerting-profile/CDVPS-Archive.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Archive/management-zone/CDVPS-Archive.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDVPS-ArchiveITSM.CN-Prod: +- name: CD_VPS-Archive ITSM PROD +- alertingProfile: CD_VPS-Archive/alerting-profile/CDVPS-Archive.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Archive/management-zone/CDVPS-Archive.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-ArchiveITSM.EMEA-PreProd: +- name: CD_VPS-Archive ITSM INT +- alertingProfile: CD_VPS-Archive/alerting-profile/CDVPS-Archive.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Archive/management-zone/CDVPS-Archive.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-ArchiveITSM.NA-PreProd: +- name: CD_VPS-Archive ITSM INT +- alertingProfile: CD_VPS-Archive/alerting-profile/CDVPS-Archive.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Archive/management-zone/CDVPS-Archive.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDVPS-ArchiveITSM.CN-PreProd: +- name: CD_VPS-Archive ITSM INT +- alertingProfile: CD_VPS-Archive/alerting-profile/CDVPS-Archive.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Archive/management-zone/CDVPS-Archive.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_vps-archive/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_vps-archive/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_vps-archive/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_vps-archive/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..5bdfa4a8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-archive/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- VPS-Archive: default.json + +VPS-Archive: +- name: CD_VPS-Archive - +- mzName: CD_vps-archive/management-zone/CDvps-archive.name +- mzId: CD_vps-archive/management-zone/CDvps-archive.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file From 32d162194e06cb579386562514c71bfad4e55a67 Mon Sep 17 00:00:00 2001 From: mosadak al salamat Date: Tue, 5 Oct 2021 08:20:22 +0200 Subject: [PATCH 18/33] CDVPS-5200 - Add initial configuration of application VPS-Admin to Dynatrace --- .../00_Global-Config/auto-tag/Component.json | 31 ++++++ .../alerting-profile/alerting-profile.yaml | 43 ++++++++ .../alerting-profile/default.json | 103 ++++++++++++++++++ .../calculated-metrics-service/README.md | 4 + .../conditional-naming-processgroup/README.md | 4 + .../conditional-naming-processgroup.yaml | 8 ++ .../template.json | 29 +++++ .../conditional-naming-service/README.md | 4 + .../conditional-naming-service.yaml | 8 ++ .../conditional-naming-service/template.json | 29 +++++ .../custom-service-java/README.md | 4 + .../custom-service-java.yaml | 9 ++ .../custom-service-java/template-1-1.json | 23 ++++ .../CD_vps-admin/notification/README.md | 4 + .../CD_vps-admin/notification/email.json | 13 +++ .../CD_vps-admin/notification/itsm.json | 20 ++++ .../CD_vps-admin/notification/msTeams.json | 11 ++ .../notification/notification.yaml | 102 +++++++++++++++++ .../CD_vps-admin/synthetic-monitor/README.md | 4 + .../synthetic-monitor/default.json | 82 ++++++++++++++ .../synthetic-monitor/synthetic-monitor.yaml | 10 ++ 21 files changed, 545 insertions(+) create mode 100644 BMW-Dynatrace-config/CD_vps-admin/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_vps-admin/alerting-profile/default.json create mode 100644 BMW-Dynatrace-config/CD_vps-admin/calculated-metrics-service/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/conditional-naming-processgroup.yaml create mode 100644 BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/template.json create mode 100644 BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/conditional-naming-service.yaml create mode 100644 BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/template.json create mode 100644 BMW-Dynatrace-config/CD_vps-admin/custom-service-java/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-admin/custom-service-java/custom-service-java.yaml create mode 100644 BMW-Dynatrace-config/CD_vps-admin/custom-service-java/template-1-1.json create mode 100644 BMW-Dynatrace-config/CD_vps-admin/notification/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-admin/notification/email.json create mode 100644 BMW-Dynatrace-config/CD_vps-admin/notification/itsm.json create mode 100644 BMW-Dynatrace-config/CD_vps-admin/notification/msTeams.json create mode 100644 BMW-Dynatrace-config/CD_vps-admin/notification/notification.yaml create mode 100644 BMW-Dynatrace-config/CD_vps-admin/synthetic-monitor/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-admin/synthetic-monitor/default.json create mode 100644 BMW-Dynatrace-config/CD_vps-admin/synthetic-monitor/synthetic-monitor.yaml diff --git a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json index 4d6e1c36..89ed4b16 100644 --- a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json +++ b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json @@ -4240,6 +4240,37 @@ } } ] + }, + { + "type": "SERVICE", + "enabled": true, + "valueFormat": "VPS-Admin", + "propagationTypes": [], + "conditions": [ + { + "key": { + "attribute": "SERVICE_TYPE" + }, + "comparisonInfo": { + "type": "SERVICE_TYPE", + "operator": "EQUALS", + "value": "DATABASE_SERVICE", + "negate": false + } + }, + { + "key": { + "attribute": "SERVICE_DATABASE_NAME" + }, + "comparisonInfo": { + "type": "STRING", + "operator": "CONTAINS", + "value": "cc", + "negate": false, + "caseSensitive": true + } + } + ] } ] } \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_vps-admin/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..e778e9fc --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDVPS-Admin: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDVPS-Admin.EMEA-Prod: +- name: CD_VPS-Admin PROD +- tag: VPS-Admin +- mzId: CD_vps-admin/management-zone/CDvps-admin.id +- env: PROD +- skipDeployment: "false" +CDVPS-Admin.NA-Prod: +- name: CD_VPS-Admin PROD +- tag: VPS-Admin +- mzId: CD_vps-admin/management-zone/CDvps-admin.id +- env: PROD +- skipDeployment: "false" +CDVPS-Admin.CN-Prod: +- name: CD_VPS-Admin PROD +- tag: VPS-Admin +- mzId: CD_vps-admin/management-zone/CDvps-admin.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDVPS-Admin.EMEA-PreProd: +- name: CD_VPS-Admin INT +- tag: VPS-Admin +- mzId: CD_vps-admin/management-zone/CDvps-admin.id +- env: INT +- skipDeployment: "false" +CDVPS-Admin.NA-PreProd: +- name: CD_VPS-Admin INT +- tag: VPS-Admin +- mzId: CD_vps-admin/management-zone/CDvps-admin.id +- env: INT +- skipDeployment: "false" +CDVPS-Admin.CN-PreProd: +- name: CD_VPS-Admin INT +- tag: VPS-Admin +- mzId: CD_vps-admin/management-zone/CDvps-admin.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/alerting-profile/default.json b/BMW-Dynatrace-config/CD_vps-admin/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_vps-admin/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..08f61419 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDVPS-Admin: template.json + +CDVPS-Admin: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: VPS-Admin +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..08f61419 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDVPS-Admin: template.json + +CDVPS-Admin: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: VPS-Admin +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/custom-service-java/README.md b/BMW-Dynatrace-config/CD_vps-admin/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_vps-admin/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_vps-admin/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/notification/README.md b/BMW-Dynatrace-config/CD_vps-admin/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/notification/email.json b/BMW-Dynatrace-config/CD_vps-admin/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/notification/itsm.json b/BMW-Dynatrace-config/CD_vps-admin/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_vps-admin/notification/msTeams.json b/BMW-Dynatrace-config/CD_vps-admin/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/notification/notification.yaml b/BMW-Dynatrace-config/CD_vps-admin/notification/notification.yaml new file mode 100644 index 00000000..050830b1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDVPS-Admin: msTeams.json +- CDVPS-AdminITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDVPS-Admin.EMEA-Prod: +- name: CD_VPS-Admin PROD +- alertingProfile: CD_VPS-Admin/alerting-profile/CDVPS-Admin.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Admin.NA-Prod: +- name: CD_VPS-Admin PROD +- alertingProfile: CD_VPS-Admin/alerting-profile/CDVPS-Admin.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Admin.CN-Prod: +- name: CD_VPS-Admin PROD +- alertingProfile: CD_VPS-Admin/alerting-profile/CDVPS-Admin.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDVPS-Admin.EMEA-PreProd: +- name: CD_VPS-Admin INT +- alertingProfile: CD_VPS-Admin/alerting-profile/CDVPS-Admin.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Admin.NA-PreProd: +- name: CD_VPS-Admin INT +- alertingProfile: CD_VPS-Admin/alerting-profile/CDVPS-Admin.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Admin.CN-PreProd: +- name: CD_VPS-Admin INT +- alertingProfile: CD_VPS-Admin/alerting-profile/CDVPS-Admin.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDVPS-AdminITSM.EMEA-Prod: +- name: CD_VPS-Admin ITSM PROD +- alertingProfile: CD_VPS-Admin/alerting-profile/CDVPS-Admin.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Admin/management-zone/CDVPS-Admin.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-AdminITSM.NA-Prod: +- name: CD_VPS-Admin ITSM PROD +- alertingProfile: CD_VPS-Admin/alerting-profile/CDVPS-Admin.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Admin/management-zone/CDVPS-Admin.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDVPS-AdminITSM.CN-Prod: +- name: CD_VPS-Admin ITSM PROD +- alertingProfile: CD_VPS-Admin/alerting-profile/CDVPS-Admin.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Admin/management-zone/CDVPS-Admin.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-AdminITSM.EMEA-PreProd: +- name: CD_VPS-Admin ITSM INT +- alertingProfile: CD_VPS-Admin/alerting-profile/CDVPS-Admin.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Admin/management-zone/CDVPS-Admin.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-AdminITSM.NA-PreProd: +- name: CD_VPS-Admin ITSM INT +- alertingProfile: CD_VPS-Admin/alerting-profile/CDVPS-Admin.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Admin/management-zone/CDVPS-Admin.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDVPS-AdminITSM.CN-PreProd: +- name: CD_VPS-Admin ITSM INT +- alertingProfile: CD_VPS-Admin/alerting-profile/CDVPS-Admin.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Admin/management-zone/CDVPS-Admin.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_vps-admin/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_vps-admin/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_vps-admin/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_vps-admin/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..e05f5870 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-admin/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- VPS-Admin: default.json + +VPS-Admin: +- name: CD_VPS-Admin - +- mzName: CD_vps-admin/management-zone/CDvps-admin.name +- mzId: CD_vps-admin/management-zone/CDvps-admin.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file From f763b656ff56d84baf556d1dbe25b9b3bb4a3aca Mon Sep 17 00:00:00 2001 From: mosadak al salamat Date: Tue, 5 Oct 2021 08:54:48 +0200 Subject: [PATCH 19/33] CDVPS-5202 - Add initial configuration of application VPS-Monitor to Dynatrace --- .../00_Global-Config/auto-tag/Component.json | 33 ++++++ .../alerting-profile/alerting-profile.yaml | 43 ++++++++ .../alerting-profile/default.json | 103 ++++++++++++++++++ .../calculated-metrics-service/README.md | 4 + .../conditional-naming-processgroup/README.md | 4 + .../conditional-naming-processgroup.yaml | 8 ++ .../template.json | 29 +++++ .../conditional-naming-service/README.md | 4 + .../conditional-naming-service.yaml | 8 ++ .../conditional-naming-service/template.json | 29 +++++ .../custom-service-java/README.md | 4 + .../custom-service-java.yaml | 9 ++ .../custom-service-java/template-1-1.json | 23 ++++ .../CD_vps-monitor/notification/README.md | 4 + .../CD_vps-monitor/notification/email.json | 13 +++ .../CD_vps-monitor/notification/itsm.json | 20 ++++ .../CD_vps-monitor/notification/msTeams.json | 11 ++ .../notification/notification.yaml | 102 +++++++++++++++++ .../synthetic-monitor/README.md | 4 + .../synthetic-monitor/default.json | 82 ++++++++++++++ .../synthetic-monitor/synthetic-monitor.yaml | 10 ++ 21 files changed, 547 insertions(+) create mode 100644 BMW-Dynatrace-config/CD_vps-monitor/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_vps-monitor/alerting-profile/default.json create mode 100644 BMW-Dynatrace-config/CD_vps-monitor/calculated-metrics-service/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/conditional-naming-processgroup.yaml create mode 100644 BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/template.json create mode 100644 BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/conditional-naming-service.yaml create mode 100644 BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/template.json create mode 100644 BMW-Dynatrace-config/CD_vps-monitor/custom-service-java/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-monitor/custom-service-java/custom-service-java.yaml create mode 100644 BMW-Dynatrace-config/CD_vps-monitor/custom-service-java/template-1-1.json create mode 100644 BMW-Dynatrace-config/CD_vps-monitor/notification/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-monitor/notification/email.json create mode 100644 BMW-Dynatrace-config/CD_vps-monitor/notification/itsm.json create mode 100644 BMW-Dynatrace-config/CD_vps-monitor/notification/msTeams.json create mode 100644 BMW-Dynatrace-config/CD_vps-monitor/notification/notification.yaml create mode 100644 BMW-Dynatrace-config/CD_vps-monitor/synthetic-monitor/README.md create mode 100644 BMW-Dynatrace-config/CD_vps-monitor/synthetic-monitor/default.json create mode 100644 BMW-Dynatrace-config/CD_vps-monitor/synthetic-monitor/synthetic-monitor.yaml diff --git a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json index 4d6e1c36..de624e09 100644 --- a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json +++ b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json @@ -4240,6 +4240,39 @@ } } ] + }, + { + "type": "SERVICE", + "enabled": true, + "valueFormat": "VPS-Monitor", + "propagationTypes": [], + "conditions": [ + { + "key": { + "attribute": "SERVICE_TYPE" + }, + "comparisonInfo": { + "type": "SERVICE_TYPE", + "operator": "EQUALS", + "value": "DATABASE_SERVICE", + "negate": false + } + }, + { + "key": { + "attribute": "SERVICE_DATABASE_NAME" + }, + "comparisonInfo": { + "type": "STRING", + "operator": "CONTAINS", + "value": "cc", + "negate": false, + "caseSensitive": true + } + } + ] } ] +} + ] } \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_vps-monitor/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..93562d36 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDVPS-Monitor: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDVPS-Monitor.EMEA-Prod: +- name: CD_VPS-Monitor PROD +- tag: VPS-Monitor +- mzId: CD_vps-monitor/management-zone/CDvps-monitor.id +- env: PROD +- skipDeployment: "false" +CDVPS-Monitor.NA-Prod: +- name: CD_VPS-Monitor PROD +- tag: VPS-Monitor +- mzId: CD_vps-monitor/management-zone/CDvps-monitor.id +- env: PROD +- skipDeployment: "false" +CDVPS-Monitor.CN-Prod: +- name: CD_VPS-Monitor PROD +- tag: VPS-Monitor +- mzId: CD_vps-monitor/management-zone/CDvps-monitor.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDVPS-Monitor.EMEA-PreProd: +- name: CD_VPS-Monitor INT +- tag: VPS-Monitor +- mzId: CD_vps-monitor/management-zone/CDvps-monitor.id +- env: INT +- skipDeployment: "false" +CDVPS-Monitor.NA-PreProd: +- name: CD_VPS-Monitor INT +- tag: VPS-Monitor +- mzId: CD_vps-monitor/management-zone/CDvps-monitor.id +- env: INT +- skipDeployment: "false" +CDVPS-Monitor.CN-PreProd: +- name: CD_VPS-Monitor INT +- tag: VPS-Monitor +- mzId: CD_vps-monitor/management-zone/CDvps-monitor.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/alerting-profile/default.json b/BMW-Dynatrace-config/CD_vps-monitor/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_vps-monitor/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..49f541b9 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDVPS-Monitor: template.json + +CDVPS-Monitor: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: VPS-Monitor +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..49f541b9 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDVPS-Monitor: template.json + +CDVPS-Monitor: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: VPS-Monitor +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/custom-service-java/README.md b/BMW-Dynatrace-config/CD_vps-monitor/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_vps-monitor/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_vps-monitor/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/notification/README.md b/BMW-Dynatrace-config/CD_vps-monitor/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/notification/email.json b/BMW-Dynatrace-config/CD_vps-monitor/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/notification/itsm.json b/BMW-Dynatrace-config/CD_vps-monitor/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_vps-monitor/notification/msTeams.json b/BMW-Dynatrace-config/CD_vps-monitor/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/notification/notification.yaml b/BMW-Dynatrace-config/CD_vps-monitor/notification/notification.yaml new file mode 100644 index 00000000..9d8c6c9c --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDVPS-Monitor: msTeams.json +- CDVPS-MonitorITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDVPS-Monitor.EMEA-Prod: +- name: CD_VPS-Monitor PROD +- alertingProfile: CD_VPS-Monitor/alerting-profile/CDVPS-Monitor.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Monitor.NA-Prod: +- name: CD_VPS-Monitor PROD +- alertingProfile: CD_VPS-Monitor/alerting-profile/CDVPS-Monitor.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Monitor.CN-Prod: +- name: CD_VPS-Monitor PROD +- alertingProfile: CD_VPS-Monitor/alerting-profile/CDVPS-Monitor.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDVPS-Monitor.EMEA-PreProd: +- name: CD_VPS-Monitor INT +- alertingProfile: CD_VPS-Monitor/alerting-profile/CDVPS-Monitor.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Monitor.NA-PreProd: +- name: CD_VPS-Monitor INT +- alertingProfile: CD_VPS-Monitor/alerting-profile/CDVPS-Monitor.id +- webhook: https://empty +- skipDeployment: "true" +CDVPS-Monitor.CN-PreProd: +- name: CD_VPS-Monitor INT +- alertingProfile: CD_VPS-Monitor/alerting-profile/CDVPS-Monitor.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDVPS-MonitorITSM.EMEA-Prod: +- name: CD_VPS-Monitor ITSM PROD +- alertingProfile: CD_VPS-Monitor/alerting-profile/CDVPS-Monitor.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Monitor/management-zone/CDVPS-Monitor.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-MonitorITSM.NA-Prod: +- name: CD_VPS-Monitor ITSM PROD +- alertingProfile: CD_VPS-Monitor/alerting-profile/CDVPS-Monitor.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Monitor/management-zone/CDVPS-Monitor.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDVPS-MonitorITSM.CN-Prod: +- name: CD_VPS-Monitor ITSM PROD +- alertingProfile: CD_VPS-Monitor/alerting-profile/CDVPS-Monitor.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Monitor/management-zone/CDVPS-Monitor.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-MonitorITSM.EMEA-PreProd: +- name: CD_VPS-Monitor ITSM INT +- alertingProfile: CD_VPS-Monitor/alerting-profile/CDVPS-Monitor.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Monitor/management-zone/CDVPS-Monitor.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVPS-MonitorITSM.NA-PreProd: +- name: CD_VPS-Monitor ITSM INT +- alertingProfile: CD_VPS-Monitor/alerting-profile/CDVPS-Monitor.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Monitor/management-zone/CDVPS-Monitor.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDVPS-MonitorITSM.CN-PreProd: +- name: CD_VPS-Monitor ITSM INT +- alertingProfile: CD_VPS-Monitor/alerting-profile/CDVPS-Monitor.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VPS-Monitor/management-zone/CDVPS-Monitor.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_vps-monitor/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_vps-monitor/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_vps-monitor/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_vps-monitor/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..0211a513 --- /dev/null +++ b/BMW-Dynatrace-config/CD_vps-monitor/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- VPS-Monitor: default.json + +VPS-Monitor: +- name: CD_VPS-Monitor - +- mzName: CD_vps-monitor/management-zone/CDvps-monitor.name +- mzId: CD_vps-monitor/management-zone/CDvps-monitor.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file From cef70bda78b774b72748267a28b63acaab173612 Mon Sep 17 00:00:00 2001 From: mosadak al salamat Date: Tue, 5 Oct 2021 09:05:46 +0200 Subject: [PATCH 20/33] CDVPS-5202 - Add initial configuration of application VPS-Monitor to Dynatrace - Component.json is corrected --- BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json index de624e09..dd10171d 100644 --- a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json +++ b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json @@ -4273,6 +4273,4 @@ ] } ] -} - ] } \ No newline at end of file From 35c3ba0ba877c28fdfb2e3bbbc322c1fb570dc4c Mon Sep 17 00:00:00 2001 From: ermisw Date: Tue, 5 Oct 2021 13:51:32 +0200 Subject: [PATCH 21/33] modified default dashboards using ms-id instead of Component Tag --- .../CD_wus/dashboard/dashboard.yaml | 16 ++++++++++++++++ .../CD_wus/dashboard/default.json | 13 +++++++------ 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/BMW-Dynatrace-config/CD_wus/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_wus/dashboard/dashboard.yaml index 22c0ddab..1790a198 100644 --- a/BMW-Dynatrace-config/CD_wus/dashboard/dashboard.yaml +++ b/BMW-Dynatrace-config/CD_wus/dashboard/dashboard.yaml @@ -11,6 +11,7 @@ CDwus-PROD: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: PROD +- msid: WUS - skipDeployment: "true" CDwus-PROD.EMEA-Prod: - name: CD_wus PROD @@ -18,6 +19,7 @@ CDwus-PROD.EMEA-Prod: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: PROD +- msid: WUS - skipDeployment: "false" CDwus-PROD.NA-Prod: - name: CD_wus PROD @@ -25,6 +27,7 @@ CDwus-PROD.NA-Prod: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: PROD +- msid: WUS - skipDeployment: "false" CDwus-PROD.CN-Prod: - name: CD_wus PROD @@ -32,6 +35,7 @@ CDwus-PROD.CN-Prod: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: PROD +- msid: WUS - skipDeployment: "false" #E2E dashboards for EMEA/NA/CN Prod @@ -41,6 +45,7 @@ CDwus-E2E: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: E2E +- msid: WUS - skipDeployment: "true" CDwus-E2E.EMEA-Prod: - name: CD_wus E2E @@ -48,6 +53,7 @@ CDwus-E2E.EMEA-Prod: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: E2E +- msid: WUS - skipDeployment: "false" CDwus-E2E.NA-Prod: - name: CD_wus E2E @@ -55,6 +61,7 @@ CDwus-E2E.NA-Prod: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: E2E +- msid: WUS - skipDeployment: "false" CDwus-E2E.CN-Prod: - name: CD_wus E2E @@ -62,6 +69,7 @@ CDwus-E2E.CN-Prod: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: E2E +- msid: WUS - skipDeployment: "false" #INT dashboards for EMEA/NA/CN PreProd @@ -71,6 +79,7 @@ CDwus-INT: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: INT +- msid: WUS - skipDeployment: "true" CDwus-INT.EMEA-PreProd: - name: CD_wus INT @@ -78,6 +87,7 @@ CDwus-INT.EMEA-PreProd: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: INT +- msid: WUS - skipDeployment: "false" CDwus-INT.NA-PreProd: - name: CD_wus INT @@ -85,6 +95,7 @@ CDwus-INT.NA-PreProd: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: INT +- msid: WUS - skipDeployment: "false" CDwus-INT.CN-PreProd: - name: CD_wus INT @@ -92,6 +103,7 @@ CDwus-INT.CN-PreProd: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: INT +- msid: WUS - skipDeployment: "false" #TEST dashboards for EMEA/NA/CN PreProd @@ -101,6 +113,7 @@ CDwus-TEST: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: TEST +- msid: WUS - skipDeployment: "true" CDwus-TEST.EMEA-PreProd: - name: CD_wus TEST @@ -108,6 +121,7 @@ CDwus-TEST.EMEA-PreProd: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: TEST +- msid: WUS - skipDeployment: "false" CDwus-TEST.NA-PreProd: - name: CD_wus TEST @@ -115,6 +129,7 @@ CDwus-TEST.NA-PreProd: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: TEST +- msid: WUS - skipDeployment: "false" CDwus-TEST.CN-PreProd: - name: CD_wus TEST @@ -122,4 +137,5 @@ CDwus-TEST.CN-PreProd: - mzId: CD_wus/management-zone/CDwus.id - tag: wus - env: TEST +- msid: WUS - skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_wus/dashboard/default.json b/BMW-Dynatrace-config/CD_wus/dashboard/default.json index 6c685810..8121b678 100644 --- a/BMW-Dynatrace-config/CD_wus/dashboard/default.json +++ b/BMW-Dynatrace-config/CD_wus/dashboard/default.json @@ -14,7 +14,8 @@ }, "tags": [ "{{.tag}}" - ] + ], + "preset": true }, "tiles": [ { @@ -72,7 +73,7 @@ "SERVICE": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "ms-id:{{.msid}}" ] } } @@ -189,7 +190,7 @@ "SERVICE": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "ms-id:{{.msid}}" ] } } @@ -233,7 +234,7 @@ "DATABASE": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "ms-id:{{.msid}}" ] } } @@ -265,7 +266,7 @@ "SERVICE": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "ms-id:{{.msid}}" ] } } @@ -297,7 +298,7 @@ "HOST": { "AUTO_TAGS": [ "Environment:{{.env}}", - "Component:{{.tag}}" + "ms-id:{{.msid}}" ] } } From 4794010c85aa68ab91063662dc68b776e99a1e69 Mon Sep 17 00:00:00 2001 From: ermisw Date: Wed, 6 Oct 2021 14:29:25 +0200 Subject: [PATCH 22/33] added managementzone rules and Dashboard fixes for tripCollection & LSCFSU --- .../CD_LSCFSU/dashboard/default.json | 64 ++++++++++++----- .../CD_LSCFSU/management-zone/default.json | 22 ++++++ .../management-zone/management-zone.yaml | 1 + .../CD_TripCollection/dashboard/default.json | 71 ++++++++++++++----- .../management-zone/default.json | 22 ++++++ .../management-zone/management-zone.yaml | 1 + 6 files changed, 146 insertions(+), 35 deletions(-) diff --git a/BMW-Dynatrace-config/CD_LSCFSU/dashboard/default.json b/BMW-Dynatrace-config/CD_LSCFSU/dashboard/default.json index ef07d18c..d0e02c8e 100644 --- a/BMW-Dynatrace-config/CD_LSCFSU/dashboard/default.json +++ b/BMW-Dynatrace-config/CD_LSCFSU/dashboard/default.json @@ -28,7 +28,12 @@ "width": 1064, "height": 304 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "MIXED", "customName": "Failure rate (HTTP 4xx/5xx errors)", @@ -72,8 +77,7 @@ "filtersPerEntityType": { "SERVICE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -118,7 +122,12 @@ "width": 1064, "height": 38 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "markdown": "---\n" }, { @@ -131,7 +140,12 @@ "width": 1064, "height": 304 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "MIXED", "customName": "Response time, Request Count and Number of Errors", @@ -189,8 +203,7 @@ "filtersPerEntityType": { "SERVICE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -206,7 +219,12 @@ "width": 1064, "height": 38 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "markdown": "---\n" }, { @@ -219,7 +237,12 @@ "width": 190, "height": 152 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "DATABASE", "customName": "Databases", @@ -233,8 +256,7 @@ "filtersPerEntityType": { "DATABASE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -251,7 +273,12 @@ "width": 190, "height": 152 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "SERVICE", "customName": "Services", @@ -265,8 +292,7 @@ "filtersPerEntityType": { "SERVICE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -283,7 +309,12 @@ "width": 190, "height": 152 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "HOST", "customName": "Hosts", @@ -297,8 +328,7 @@ "filtersPerEntityType": { "HOST": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } diff --git a/BMW-Dynatrace-config/CD_LSCFSU/management-zone/default.json b/BMW-Dynatrace-config/CD_LSCFSU/management-zone/default.json index bffa0c3b..1ade3f13 100644 --- a/BMW-Dynatrace-config/CD_LSCFSU/management-zone/default.json +++ b/BMW-Dynatrace-config/CD_LSCFSU/management-zone/default.json @@ -1,6 +1,28 @@ { "dimensionalRules": [], "name": "{{.name}}", + "entitySelectorBasedRules": [ + { + "enabled": true, + "entitySelector": "type(Service),tag(\"compass-id:{{.compassid}}\")" + }, + { + "enabled": true, + "entitySelector": "type(SERVICE),databaseName.exists(),toRelationship.calls(type(SERVICE),tag(\"compass-id:{{.compassid}}\"))" + }, + { + "enabled": true, + "entitySelector": "type(PROCESS_GROUP),tag(\"compass-id:{{.compassid}}\")" + }, + { + "enabled": true, + "entitySelector": "type(PROCESS_GROUP_INSTANCE),tag(\"compass-id:{{.compassid}}\")" + }, + { + "enabled": true, + "entitySelector": "type(HOST),tag(\"compass-id:{{.compassid}}\")" + } +], "rules": [ { "conditions": [ diff --git a/BMW-Dynatrace-config/CD_LSCFSU/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_LSCFSU/management-zone/management-zone.yaml index d7cde97a..27bb5bf1 100644 --- a/BMW-Dynatrace-config/CD_LSCFSU/management-zone/management-zone.yaml +++ b/BMW-Dynatrace-config/CD_LSCFSU/management-zone/management-zone.yaml @@ -4,3 +4,4 @@ config: CDLSCFSU: - name: CD_LSCFSU - tag: LSCFSU +- compassid: lscfsu diff --git a/BMW-Dynatrace-config/CD_TripCollection/dashboard/default.json b/BMW-Dynatrace-config/CD_TripCollection/dashboard/default.json index ef07d18c..e95d5bf8 100644 --- a/BMW-Dynatrace-config/CD_TripCollection/dashboard/default.json +++ b/BMW-Dynatrace-config/CD_TripCollection/dashboard/default.json @@ -28,7 +28,12 @@ "width": 1064, "height": 304 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "MIXED", "customName": "Failure rate (HTTP 4xx/5xx errors)", @@ -72,8 +77,7 @@ "filtersPerEntityType": { "SERVICE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -106,7 +110,12 @@ "width": 1064, "height": 38 }, - "tileFilter": {} + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } }, { "name": "Markdown", @@ -118,7 +127,12 @@ "width": 1064, "height": 38 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "markdown": "---\n" }, { @@ -131,7 +145,12 @@ "width": 1064, "height": 304 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "MIXED", "customName": "Response time, Request Count and Number of Errors", @@ -189,8 +208,7 @@ "filtersPerEntityType": { "SERVICE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -206,7 +224,12 @@ "width": 1064, "height": 38 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "markdown": "---\n" }, { @@ -219,7 +242,12 @@ "width": 190, "height": 152 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "DATABASE", "customName": "Databases", @@ -233,8 +261,7 @@ "filtersPerEntityType": { "DATABASE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -251,7 +278,12 @@ "width": 190, "height": 152 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "SERVICE", "customName": "Services", @@ -265,8 +297,7 @@ "filtersPerEntityType": { "SERVICE": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } @@ -283,7 +314,12 @@ "width": 190, "height": 152 }, - "tileFilter": {}, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + }, "filterConfig": { "type": "HOST", "customName": "Hosts", @@ -297,8 +333,7 @@ "filtersPerEntityType": { "HOST": { "AUTO_TAGS": [ - "Environment:{{.env}}", - "Component:{{.tag}}" + "Environment:{{.env}}" ] } } diff --git a/BMW-Dynatrace-config/CD_TripCollection/management-zone/default.json b/BMW-Dynatrace-config/CD_TripCollection/management-zone/default.json index bffa0c3b..1ade3f13 100644 --- a/BMW-Dynatrace-config/CD_TripCollection/management-zone/default.json +++ b/BMW-Dynatrace-config/CD_TripCollection/management-zone/default.json @@ -1,6 +1,28 @@ { "dimensionalRules": [], "name": "{{.name}}", + "entitySelectorBasedRules": [ + { + "enabled": true, + "entitySelector": "type(Service),tag(\"compass-id:{{.compassid}}\")" + }, + { + "enabled": true, + "entitySelector": "type(SERVICE),databaseName.exists(),toRelationship.calls(type(SERVICE),tag(\"compass-id:{{.compassid}}\"))" + }, + { + "enabled": true, + "entitySelector": "type(PROCESS_GROUP),tag(\"compass-id:{{.compassid}}\")" + }, + { + "enabled": true, + "entitySelector": "type(PROCESS_GROUP_INSTANCE),tag(\"compass-id:{{.compassid}}\")" + }, + { + "enabled": true, + "entitySelector": "type(HOST),tag(\"compass-id:{{.compassid}}\")" + } +], "rules": [ { "conditions": [ diff --git a/BMW-Dynatrace-config/CD_TripCollection/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_TripCollection/management-zone/management-zone.yaml index 535fa951..640ab6cf 100644 --- a/BMW-Dynatrace-config/CD_TripCollection/management-zone/management-zone.yaml +++ b/BMW-Dynatrace-config/CD_TripCollection/management-zone/management-zone.yaml @@ -4,3 +4,4 @@ config: CDTripCollection: - name: CD_TripCollection - tag: TripCollection +- compassid: tripCollectionApi From 9b8d03ef800951044d5c3126b4ed3a8f823cb938 Mon Sep 17 00:00:00 2001 From: mosadak al salamat Date: Wed, 6 Oct 2021 16:02:47 +0200 Subject: [PATCH 23/33] CDVPS-5200 - Add initial configuration of application VPS-Admin to Dynatrace - more specific criteria to Component.json added --- .../00_Global-Config/auto-tag/Component.json | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json index 397dd438..f9a40f62 100644 --- a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json +++ b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json @@ -4252,10 +4252,11 @@ "attribute": "SERVICE_TYPE" }, "comparisonInfo": { - "type": "SERVICE_TYPE", - "operator": "EQUALS", - "value": "DATABASE_SERVICE", - "negate": false + "caseSensitive": true, + "negate": false, + "operator": "REGEX_MATCHES", + "type": "STRING", + "value": "cc_.*vps.*config" } }, { From cf2201c651c8820a7a7ef7f9041a533895376e3a Mon Sep 17 00:00:00 2001 From: mosadak al salamat Date: Wed, 6 Oct 2021 16:12:04 +0200 Subject: [PATCH 24/33] CDVPS-5201 - Add initial configuration of application VPS-Archive to Dynatrace - more specific criteria to Component.json added --- BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json index f9a40f62..950fdff3 100644 --- a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json +++ b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json @@ -4256,7 +4256,7 @@ "negate": false, "operator": "REGEX_MATCHES", "type": "STRING", - "value": "cc_.*vps.*config" + "value": "cc_.*vps.*archive" } }, { From 863bff93b3abea85185b0d378a899fa8889fffb5 Mon Sep 17 00:00:00 2001 From: mosadak al salamat Date: Wed, 6 Oct 2021 16:23:39 +0200 Subject: [PATCH 25/33] CDVPS-5200 - Add initial configuration of application VPS-Admin to Dynatrace - more specific criteria to Component.json added --- .../00_Global-Config/auto-tag/Component.json | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json index 89ed4b16..c79db6f5 100644 --- a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json +++ b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json @@ -4252,10 +4252,11 @@ "attribute": "SERVICE_TYPE" }, "comparisonInfo": { - "type": "SERVICE_TYPE", - "operator": "EQUALS", - "value": "DATABASE_SERVICE", - "negate": false + "caseSensitive": true, + "negate": false, + "operator": "REGEX_MATCHES", + "type": "STRING", + "value": "cc_.*vps.*config" } }, { From f68d926ae28cfc14e2a811509f7b3e44d74cdb8b Mon Sep 17 00:00:00 2001 From: mosadak al salamat Date: Wed, 6 Oct 2021 16:30:33 +0200 Subject: [PATCH 26/33] CDVPS-5202 - Add initial configuration of application VPS-Monitor to Dynatrace - more specific criteria to Component.json added --- .../00_Global-Config/auto-tag/Component.json | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json index dd10171d..62a1ed09 100644 --- a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json +++ b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json @@ -4252,10 +4252,11 @@ "attribute": "SERVICE_TYPE" }, "comparisonInfo": { - "type": "SERVICE_TYPE", - "operator": "EQUALS", - "value": "DATABASE_SERVICE", - "negate": false + "caseSensitive": true, + "negate": false, + "operator": "REGEX_MATCHES", + "type": "STRING", + "value": "cc_.*vps.*monitor" } }, { From b627f5ecd345a402b2303e7b6d25e746f0f54f49 Mon Sep 17 00:00:00 2001 From: Santiago Aguirre Date: Thu, 7 Oct 2021 14:16:41 +0200 Subject: [PATCH 27/33] OPMAAS-692 - Add initial configuration of application tsr-dd to Dynatrace --- .../alerting-profile/alerting-profile.yaml | 43 ++++++++ .../CD_tsr-dd/alerting-profile/default.json | 103 ++++++++++++++++++ .../calculated-metrics-service/README.md | 4 + .../conditional-naming-processgroup/README.md | 4 + .../conditional-naming-processgroup.yaml | 8 ++ .../template.json | 29 +++++ .../conditional-naming-service/README.md | 4 + .../conditional-naming-service.yaml | 8 ++ .../conditional-naming-service/template.json | 29 +++++ .../CD_tsr-dd/custom-service-java/README.md | 4 + .../custom-service-java.yaml | 9 ++ .../custom-service-java/template-1-1.json | 23 ++++ .../CD_tsr-dd/notification/README.md | 4 + .../CD_tsr-dd/notification/email.json | 13 +++ .../CD_tsr-dd/notification/itsm.json | 20 ++++ .../CD_tsr-dd/notification/msTeams.json | 11 ++ .../CD_tsr-dd/notification/notification.yaml | 102 +++++++++++++++++ .../CD_tsr-dd/synthetic-monitor/README.md | 4 + .../CD_tsr-dd/synthetic-monitor/default.json | 82 ++++++++++++++ .../synthetic-monitor/synthetic-monitor.yaml | 10 ++ 20 files changed, 514 insertions(+) create mode 100644 BMW-Dynatrace-config/CD_tsr-dd/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_tsr-dd/alerting-profile/default.json create mode 100644 BMW-Dynatrace-config/CD_tsr-dd/calculated-metrics-service/README.md create mode 100644 BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/README.md create mode 100644 BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/conditional-naming-processgroup.yaml create mode 100644 BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/template.json create mode 100644 BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/README.md create mode 100644 BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/conditional-naming-service.yaml create mode 100644 BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/template.json create mode 100644 BMW-Dynatrace-config/CD_tsr-dd/custom-service-java/README.md create mode 100644 BMW-Dynatrace-config/CD_tsr-dd/custom-service-java/custom-service-java.yaml create mode 100644 BMW-Dynatrace-config/CD_tsr-dd/custom-service-java/template-1-1.json create mode 100644 BMW-Dynatrace-config/CD_tsr-dd/notification/README.md create mode 100644 BMW-Dynatrace-config/CD_tsr-dd/notification/email.json create mode 100644 BMW-Dynatrace-config/CD_tsr-dd/notification/itsm.json create mode 100644 BMW-Dynatrace-config/CD_tsr-dd/notification/msTeams.json create mode 100644 BMW-Dynatrace-config/CD_tsr-dd/notification/notification.yaml create mode 100644 BMW-Dynatrace-config/CD_tsr-dd/synthetic-monitor/README.md create mode 100644 BMW-Dynatrace-config/CD_tsr-dd/synthetic-monitor/default.json create mode 100644 BMW-Dynatrace-config/CD_tsr-dd/synthetic-monitor/synthetic-monitor.yaml diff --git a/BMW-Dynatrace-config/CD_tsr-dd/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_tsr-dd/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..30a7aa3a --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDtsr-dd: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDtsr-dd.EMEA-Prod: +- name: CD_tsr-dd PROD +- tag: tsr-dd +- mzId: CD_tsr-dd/management-zone/CDtsr-dd.id +- env: PROD +- skipDeployment: "false" +CDtsr-dd.NA-Prod: +- name: CD_tsr-dd PROD +- tag: tsr-dd +- mzId: CD_tsr-dd/management-zone/CDtsr-dd.id +- env: PROD +- skipDeployment: "false" +CDtsr-dd.CN-Prod: +- name: CD_tsr-dd PROD +- tag: tsr-dd +- mzId: CD_tsr-dd/management-zone/CDtsr-dd.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDtsr-dd.EMEA-PreProd: +- name: CD_tsr-dd INT +- tag: tsr-dd +- mzId: CD_tsr-dd/management-zone/CDtsr-dd.id +- env: INT +- skipDeployment: "false" +CDtsr-dd.NA-PreProd: +- name: CD_tsr-dd INT +- tag: tsr-dd +- mzId: CD_tsr-dd/management-zone/CDtsr-dd.id +- env: INT +- skipDeployment: "false" +CDtsr-dd.CN-PreProd: +- name: CD_tsr-dd INT +- tag: tsr-dd +- mzId: CD_tsr-dd/management-zone/CDtsr-dd.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/alerting-profile/default.json b/BMW-Dynatrace-config/CD_tsr-dd/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_tsr-dd/calculated-metrics-service/README.md new file mode 100644 index 00000000..9c2a1f2e --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..519727bf --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..a57f1303 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDtsr-dd: template.json + +CDtsr-dd: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: tsr-dd +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/README.md new file mode 100644 index 00000000..b6f10ae1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..a57f1303 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDtsr-dd: template.json + +CDtsr-dd: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: tsr-dd +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/custom-service-java/README.md b/BMW-Dynatrace-config/CD_tsr-dd/custom-service-java/README.md new file mode 100644 index 00000000..5f35e5c1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_tsr-dd/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_tsr-dd/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/notification/README.md b/BMW-Dynatrace-config/CD_tsr-dd/notification/README.md new file mode 100644 index 00000000..37cb85bc --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/notification/email.json b/BMW-Dynatrace-config/CD_tsr-dd/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/notification/itsm.json b/BMW-Dynatrace-config/CD_tsr-dd/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_tsr-dd/notification/msTeams.json b/BMW-Dynatrace-config/CD_tsr-dd/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/notification/notification.yaml b/BMW-Dynatrace-config/CD_tsr-dd/notification/notification.yaml new file mode 100644 index 00000000..41d1c4ba --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDtsr-dd: msTeams.json +- CDtsr-ddITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDtsr-dd.EMEA-Prod: +- name: CD_tsr-dd PROD +- alertingProfile: CD_tsr-dd/alerting-profile/CDtsr-dd.id +- webhook: https://empty +- skipDeployment: "true" +CDtsr-dd.NA-Prod: +- name: CD_tsr-dd PROD +- alertingProfile: CD_tsr-dd/alerting-profile/CDtsr-dd.id +- webhook: https://empty +- skipDeployment: "true" +CDtsr-dd.CN-Prod: +- name: CD_tsr-dd PROD +- alertingProfile: CD_tsr-dd/alerting-profile/CDtsr-dd.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDtsr-dd.EMEA-PreProd: +- name: CD_tsr-dd INT +- alertingProfile: CD_tsr-dd/alerting-profile/CDtsr-dd.id +- webhook: https://empty +- skipDeployment: "true" +CDtsr-dd.NA-PreProd: +- name: CD_tsr-dd INT +- alertingProfile: CD_tsr-dd/alerting-profile/CDtsr-dd.id +- webhook: https://empty +- skipDeployment: "true" +CDtsr-dd.CN-PreProd: +- name: CD_tsr-dd INT +- alertingProfile: CD_tsr-dd/alerting-profile/CDtsr-dd.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDtsr-ddITSM.EMEA-Prod: +- name: CD_tsr-dd ITSM PROD +- alertingProfile: CD_tsr-dd/alerting-profile/CDtsr-dd.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsr-dd/management-zone/CDtsr-dd.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDtsr-ddITSM.NA-Prod: +- name: CD_tsr-dd ITSM PROD +- alertingProfile: CD_tsr-dd/alerting-profile/CDtsr-dd.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsr-dd/management-zone/CDtsr-dd.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDtsr-ddITSM.CN-Prod: +- name: CD_tsr-dd ITSM PROD +- alertingProfile: CD_tsr-dd/alerting-profile/CDtsr-dd.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsr-dd/management-zone/CDtsr-dd.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDtsr-ddITSM.EMEA-PreProd: +- name: CD_tsr-dd ITSM INT +- alertingProfile: CD_tsr-dd/alerting-profile/CDtsr-dd.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsr-dd/management-zone/CDtsr-dd.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDtsr-ddITSM.NA-PreProd: +- name: CD_tsr-dd ITSM INT +- alertingProfile: CD_tsr-dd/alerting-profile/CDtsr-dd.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsr-dd/management-zone/CDtsr-dd.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDtsr-ddITSM.CN-PreProd: +- name: CD_tsr-dd ITSM INT +- alertingProfile: CD_tsr-dd/alerting-profile/CDtsr-dd.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsr-dd/management-zone/CDtsr-dd.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_tsr-dd/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_tsr-dd/synthetic-monitor/README.md new file mode 100644 index 00000000..1695924c --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_tsr-dd/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_tsr-dd/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..7d047ccd --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-dd/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- tsr-dd: default.json + +tsr-dd: +- name: CD_tsr-dd - +- mzName: CD_tsr-dd/management-zone/CDtsr-dd.name +- mzId: CD_tsr-dd/management-zone/CDtsr-dd.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file From 9003057ca3a081ef8dbaabb06fd8deb109c42a2b Mon Sep 17 00:00:00 2001 From: Santiago Aguirre Date: Thu, 7 Oct 2021 14:21:20 +0200 Subject: [PATCH 28/33] OPMAAS-693 - Add initial configuration of application tsr-vu to Dynatrace --- .../alerting-profile/alerting-profile.yaml | 43 ++++++++ .../CD_tsr-vu/alerting-profile/default.json | 103 ++++++++++++++++++ .../calculated-metrics-service/README.md | 4 + .../conditional-naming-processgroup/README.md | 4 + .../conditional-naming-processgroup.yaml | 8 ++ .../template.json | 29 +++++ .../conditional-naming-service/README.md | 4 + .../conditional-naming-service.yaml | 8 ++ .../conditional-naming-service/template.json | 29 +++++ .../CD_tsr-vu/custom-service-java/README.md | 4 + .../custom-service-java.yaml | 9 ++ .../custom-service-java/template-1-1.json | 23 ++++ .../CD_tsr-vu/notification/README.md | 4 + .../CD_tsr-vu/notification/email.json | 13 +++ .../CD_tsr-vu/notification/itsm.json | 20 ++++ .../CD_tsr-vu/notification/msTeams.json | 11 ++ .../CD_tsr-vu/notification/notification.yaml | 102 +++++++++++++++++ .../CD_tsr-vu/synthetic-monitor/README.md | 4 + .../CD_tsr-vu/synthetic-monitor/default.json | 82 ++++++++++++++ .../synthetic-monitor/synthetic-monitor.yaml | 10 ++ 20 files changed, 514 insertions(+) create mode 100644 BMW-Dynatrace-config/CD_tsr-vu/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_tsr-vu/alerting-profile/default.json create mode 100644 BMW-Dynatrace-config/CD_tsr-vu/calculated-metrics-service/README.md create mode 100644 BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/README.md create mode 100644 BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/conditional-naming-processgroup.yaml create mode 100644 BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/template.json create mode 100644 BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/README.md create mode 100644 BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/conditional-naming-service.yaml create mode 100644 BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/template.json create mode 100644 BMW-Dynatrace-config/CD_tsr-vu/custom-service-java/README.md create mode 100644 BMW-Dynatrace-config/CD_tsr-vu/custom-service-java/custom-service-java.yaml create mode 100644 BMW-Dynatrace-config/CD_tsr-vu/custom-service-java/template-1-1.json create mode 100644 BMW-Dynatrace-config/CD_tsr-vu/notification/README.md create mode 100644 BMW-Dynatrace-config/CD_tsr-vu/notification/email.json create mode 100644 BMW-Dynatrace-config/CD_tsr-vu/notification/itsm.json create mode 100644 BMW-Dynatrace-config/CD_tsr-vu/notification/msTeams.json create mode 100644 BMW-Dynatrace-config/CD_tsr-vu/notification/notification.yaml create mode 100644 BMW-Dynatrace-config/CD_tsr-vu/synthetic-monitor/README.md create mode 100644 BMW-Dynatrace-config/CD_tsr-vu/synthetic-monitor/default.json create mode 100644 BMW-Dynatrace-config/CD_tsr-vu/synthetic-monitor/synthetic-monitor.yaml diff --git a/BMW-Dynatrace-config/CD_tsr-vu/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_tsr-vu/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..38e3238f --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDtsr-vu: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDtsr-vu.EMEA-Prod: +- name: CD_tsr-vu PROD +- tag: tsr-vu +- mzId: CD_tsr-vu/management-zone/CDtsr-vu.id +- env: PROD +- skipDeployment: "false" +CDtsr-vu.NA-Prod: +- name: CD_tsr-vu PROD +- tag: tsr-vu +- mzId: CD_tsr-vu/management-zone/CDtsr-vu.id +- env: PROD +- skipDeployment: "false" +CDtsr-vu.CN-Prod: +- name: CD_tsr-vu PROD +- tag: tsr-vu +- mzId: CD_tsr-vu/management-zone/CDtsr-vu.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDtsr-vu.EMEA-PreProd: +- name: CD_tsr-vu INT +- tag: tsr-vu +- mzId: CD_tsr-vu/management-zone/CDtsr-vu.id +- env: INT +- skipDeployment: "false" +CDtsr-vu.NA-PreProd: +- name: CD_tsr-vu INT +- tag: tsr-vu +- mzId: CD_tsr-vu/management-zone/CDtsr-vu.id +- env: INT +- skipDeployment: "false" +CDtsr-vu.CN-PreProd: +- name: CD_tsr-vu INT +- tag: tsr-vu +- mzId: CD_tsr-vu/management-zone/CDtsr-vu.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/alerting-profile/default.json b/BMW-Dynatrace-config/CD_tsr-vu/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_tsr-vu/calculated-metrics-service/README.md new file mode 100644 index 00000000..9c2a1f2e --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..519727bf --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..de0cd3cf --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDtsr-vu: template.json + +CDtsr-vu: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: tsr-vu +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/README.md new file mode 100644 index 00000000..b6f10ae1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..de0cd3cf --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDtsr-vu: template.json + +CDtsr-vu: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: tsr-vu +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/custom-service-java/README.md b/BMW-Dynatrace-config/CD_tsr-vu/custom-service-java/README.md new file mode 100644 index 00000000..5f35e5c1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_tsr-vu/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_tsr-vu/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/notification/README.md b/BMW-Dynatrace-config/CD_tsr-vu/notification/README.md new file mode 100644 index 00000000..37cb85bc --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/notification/email.json b/BMW-Dynatrace-config/CD_tsr-vu/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/notification/itsm.json b/BMW-Dynatrace-config/CD_tsr-vu/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_tsr-vu/notification/msTeams.json b/BMW-Dynatrace-config/CD_tsr-vu/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/notification/notification.yaml b/BMW-Dynatrace-config/CD_tsr-vu/notification/notification.yaml new file mode 100644 index 00000000..2ed59d61 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDtsr-vu: msTeams.json +- CDtsr-vuITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDtsr-vu.EMEA-Prod: +- name: CD_tsr-vu PROD +- alertingProfile: CD_tsr-vu/alerting-profile/CDtsr-vu.id +- webhook: https://empty +- skipDeployment: "true" +CDtsr-vu.NA-Prod: +- name: CD_tsr-vu PROD +- alertingProfile: CD_tsr-vu/alerting-profile/CDtsr-vu.id +- webhook: https://empty +- skipDeployment: "true" +CDtsr-vu.CN-Prod: +- name: CD_tsr-vu PROD +- alertingProfile: CD_tsr-vu/alerting-profile/CDtsr-vu.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDtsr-vu.EMEA-PreProd: +- name: CD_tsr-vu INT +- alertingProfile: CD_tsr-vu/alerting-profile/CDtsr-vu.id +- webhook: https://empty +- skipDeployment: "true" +CDtsr-vu.NA-PreProd: +- name: CD_tsr-vu INT +- alertingProfile: CD_tsr-vu/alerting-profile/CDtsr-vu.id +- webhook: https://empty +- skipDeployment: "true" +CDtsr-vu.CN-PreProd: +- name: CD_tsr-vu INT +- alertingProfile: CD_tsr-vu/alerting-profile/CDtsr-vu.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDtsr-vuITSM.EMEA-Prod: +- name: CD_tsr-vu ITSM PROD +- alertingProfile: CD_tsr-vu/alerting-profile/CDtsr-vu.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsr-vu/management-zone/CDtsr-vu.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDtsr-vuITSM.NA-Prod: +- name: CD_tsr-vu ITSM PROD +- alertingProfile: CD_tsr-vu/alerting-profile/CDtsr-vu.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsr-vu/management-zone/CDtsr-vu.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDtsr-vuITSM.CN-Prod: +- name: CD_tsr-vu ITSM PROD +- alertingProfile: CD_tsr-vu/alerting-profile/CDtsr-vu.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsr-vu/management-zone/CDtsr-vu.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDtsr-vuITSM.EMEA-PreProd: +- name: CD_tsr-vu ITSM INT +- alertingProfile: CD_tsr-vu/alerting-profile/CDtsr-vu.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsr-vu/management-zone/CDtsr-vu.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDtsr-vuITSM.NA-PreProd: +- name: CD_tsr-vu ITSM INT +- alertingProfile: CD_tsr-vu/alerting-profile/CDtsr-vu.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsr-vu/management-zone/CDtsr-vu.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDtsr-vuITSM.CN-PreProd: +- name: CD_tsr-vu ITSM INT +- alertingProfile: CD_tsr-vu/alerting-profile/CDtsr-vu.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsr-vu/management-zone/CDtsr-vu.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_tsr-vu/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_tsr-vu/synthetic-monitor/README.md new file mode 100644 index 00000000..1695924c --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_tsr-vu/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_tsr-vu/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..89eedcd1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsr-vu/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- tsr-vu: default.json + +tsr-vu: +- name: CD_tsr-vu - +- mzName: CD_tsr-vu/management-zone/CDtsr-vu.name +- mzId: CD_tsr-vu/management-zone/CDtsr-vu.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file From 07f56d64c1011e84dfcf9d860ae5cd4e66c8e47e Mon Sep 17 00:00:00 2001 From: Santiago Aguirre Date: Thu, 7 Oct 2021 15:19:47 +0200 Subject: [PATCH 29/33] OPMAAS-694 - Add initial configuration of application tsmb to Dynatrace --- .../alerting-profile/alerting-profile.yaml | 43 ++++++++ .../CD_tsmb/alerting-profile/default.json | 103 ++++++++++++++++++ .../calculated-metrics-service/README.md | 4 + .../conditional-naming-processgroup/README.md | 4 + .../conditional-naming-processgroup.yaml | 8 ++ .../template.json | 29 +++++ .../conditional-naming-service/README.md | 4 + .../conditional-naming-service.yaml | 8 ++ .../conditional-naming-service/template.json | 29 +++++ .../CD_tsmb/custom-service-java/README.md | 4 + .../custom-service-java.yaml | 9 ++ .../custom-service-java/template-1-1.json | 23 ++++ .../CD_tsmb/notification/README.md | 4 + .../CD_tsmb/notification/email.json | 13 +++ .../CD_tsmb/notification/itsm.json | 20 ++++ .../CD_tsmb/notification/msTeams.json | 11 ++ .../CD_tsmb/notification/notification.yaml | 102 +++++++++++++++++ .../CD_tsmb/synthetic-monitor/README.md | 4 + .../CD_tsmb/synthetic-monitor/default.json | 82 ++++++++++++++ .../synthetic-monitor/synthetic-monitor.yaml | 10 ++ 20 files changed, 514 insertions(+) create mode 100644 BMW-Dynatrace-config/CD_tsmb/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_tsmb/alerting-profile/default.json create mode 100644 BMW-Dynatrace-config/CD_tsmb/calculated-metrics-service/README.md create mode 100644 BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/README.md create mode 100644 BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/conditional-naming-processgroup.yaml create mode 100644 BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/template.json create mode 100644 BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/README.md create mode 100644 BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/conditional-naming-service.yaml create mode 100644 BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/template.json create mode 100644 BMW-Dynatrace-config/CD_tsmb/custom-service-java/README.md create mode 100644 BMW-Dynatrace-config/CD_tsmb/custom-service-java/custom-service-java.yaml create mode 100644 BMW-Dynatrace-config/CD_tsmb/custom-service-java/template-1-1.json create mode 100644 BMW-Dynatrace-config/CD_tsmb/notification/README.md create mode 100644 BMW-Dynatrace-config/CD_tsmb/notification/email.json create mode 100644 BMW-Dynatrace-config/CD_tsmb/notification/itsm.json create mode 100644 BMW-Dynatrace-config/CD_tsmb/notification/msTeams.json create mode 100644 BMW-Dynatrace-config/CD_tsmb/notification/notification.yaml create mode 100644 BMW-Dynatrace-config/CD_tsmb/synthetic-monitor/README.md create mode 100644 BMW-Dynatrace-config/CD_tsmb/synthetic-monitor/default.json create mode 100644 BMW-Dynatrace-config/CD_tsmb/synthetic-monitor/synthetic-monitor.yaml diff --git a/BMW-Dynatrace-config/CD_tsmb/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_tsmb/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..092aa8ef --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDtsmb: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDtsmb.EMEA-Prod: +- name: CD_tsmb PROD +- tag: tsmb +- mzId: CD_tsmb/management-zone/CDtsmb.id +- env: PROD +- skipDeployment: "false" +CDtsmb.NA-Prod: +- name: CD_tsmb PROD +- tag: tsmb +- mzId: CD_tsmb/management-zone/CDtsmb.id +- env: PROD +- skipDeployment: "false" +CDtsmb.CN-Prod: +- name: CD_tsmb PROD +- tag: tsmb +- mzId: CD_tsmb/management-zone/CDtsmb.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDtsmb.EMEA-PreProd: +- name: CD_tsmb INT +- tag: tsmb +- mzId: CD_tsmb/management-zone/CDtsmb.id +- env: INT +- skipDeployment: "false" +CDtsmb.NA-PreProd: +- name: CD_tsmb INT +- tag: tsmb +- mzId: CD_tsmb/management-zone/CDtsmb.id +- env: INT +- skipDeployment: "false" +CDtsmb.CN-PreProd: +- name: CD_tsmb INT +- tag: tsmb +- mzId: CD_tsmb/management-zone/CDtsmb.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/alerting-profile/default.json b/BMW-Dynatrace-config/CD_tsmb/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_tsmb/calculated-metrics-service/README.md new file mode 100644 index 00000000..9c2a1f2e --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..519727bf --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..7f350b36 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDtsmb: template.json + +CDtsmb: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: tsmb +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/README.md new file mode 100644 index 00000000..b6f10ae1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..7f350b36 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDtsmb: template.json + +CDtsmb: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: tsmb +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/custom-service-java/README.md b/BMW-Dynatrace-config/CD_tsmb/custom-service-java/README.md new file mode 100644 index 00000000..5f35e5c1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_tsmb/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_tsmb/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/notification/README.md b/BMW-Dynatrace-config/CD_tsmb/notification/README.md new file mode 100644 index 00000000..37cb85bc --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/notification/email.json b/BMW-Dynatrace-config/CD_tsmb/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/notification/itsm.json b/BMW-Dynatrace-config/CD_tsmb/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_tsmb/notification/msTeams.json b/BMW-Dynatrace-config/CD_tsmb/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/notification/notification.yaml b/BMW-Dynatrace-config/CD_tsmb/notification/notification.yaml new file mode 100644 index 00000000..3255b7ad --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDtsmb: msTeams.json +- CDtsmbITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDtsmb.EMEA-Prod: +- name: CD_tsmb PROD +- alertingProfile: CD_tsmb/alerting-profile/CDtsmb.id +- webhook: https://empty +- skipDeployment: "true" +CDtsmb.NA-Prod: +- name: CD_tsmb PROD +- alertingProfile: CD_tsmb/alerting-profile/CDtsmb.id +- webhook: https://empty +- skipDeployment: "true" +CDtsmb.CN-Prod: +- name: CD_tsmb PROD +- alertingProfile: CD_tsmb/alerting-profile/CDtsmb.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDtsmb.EMEA-PreProd: +- name: CD_tsmb INT +- alertingProfile: CD_tsmb/alerting-profile/CDtsmb.id +- webhook: https://empty +- skipDeployment: "true" +CDtsmb.NA-PreProd: +- name: CD_tsmb INT +- alertingProfile: CD_tsmb/alerting-profile/CDtsmb.id +- webhook: https://empty +- skipDeployment: "true" +CDtsmb.CN-PreProd: +- name: CD_tsmb INT +- alertingProfile: CD_tsmb/alerting-profile/CDtsmb.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDtsmbITSM.EMEA-Prod: +- name: CD_tsmb ITSM PROD +- alertingProfile: CD_tsmb/alerting-profile/CDtsmb.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsmb/management-zone/CDtsmb.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDtsmbITSM.NA-Prod: +- name: CD_tsmb ITSM PROD +- alertingProfile: CD_tsmb/alerting-profile/CDtsmb.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsmb/management-zone/CDtsmb.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDtsmbITSM.CN-Prod: +- name: CD_tsmb ITSM PROD +- alertingProfile: CD_tsmb/alerting-profile/CDtsmb.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsmb/management-zone/CDtsmb.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDtsmbITSM.EMEA-PreProd: +- name: CD_tsmb ITSM INT +- alertingProfile: CD_tsmb/alerting-profile/CDtsmb.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsmb/management-zone/CDtsmb.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDtsmbITSM.NA-PreProd: +- name: CD_tsmb ITSM INT +- alertingProfile: CD_tsmb/alerting-profile/CDtsmb.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsmb/management-zone/CDtsmb.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDtsmbITSM.CN-PreProd: +- name: CD_tsmb ITSM INT +- alertingProfile: CD_tsmb/alerting-profile/CDtsmb.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_tsmb/management-zone/CDtsmb.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_tsmb/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_tsmb/synthetic-monitor/README.md new file mode 100644 index 00000000..1695924c --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_tsmb/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_tsmb/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..1d0040f4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_tsmb/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- tsmb: default.json + +tsmb: +- name: CD_tsmb - +- mzName: CD_tsmb/management-zone/CDtsmb.name +- mzId: CD_tsmb/management-zone/CDtsmb.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file From 8bad0a076c5a06893fb43afd85480a335b7e9cb3 Mon Sep 17 00:00:00 2001 From: ermisw Date: Thu, 7 Oct 2021 15:29:50 +0200 Subject: [PATCH 30/33] fix --- BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json index 950fdff3..7bc69023 100644 --- a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json +++ b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json @@ -4256,7 +4256,7 @@ "negate": false, "operator": "REGEX_MATCHES", "type": "STRING", - "value": "cc_.*vps.*archive" + "value": "cc_.*vps.*archiv" } }, { From e6358308404c69120fd61836493ad0d16b208652 Mon Sep 17 00:00:00 2001 From: ermisw Date: Thu, 7 Oct 2021 16:04:59 +0200 Subject: [PATCH 31/33] Component.json fix --- .../00_Global-Config/auto-tag/Component.json | 778 ++++++++++++------ 1 file changed, 512 insertions(+), 266 deletions(-) diff --git a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json index 7bc69023..716b59be 100644 --- a/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json +++ b/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json @@ -2,7 +2,7 @@ "description": null, "entitySelectorBasedRules": [], "metadata": { - "clusterVersion": "1.224.76.20210824-135737", + "clusterVersion": "1.227.117.20211006-093310", "configurationVersions": [ 7 ] @@ -28,8 +28,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Infotainment" @@ -53,8 +53,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Infotainment" @@ -240,8 +240,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "CSI" @@ -694,8 +694,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "SMACC-BE" @@ -719,8 +719,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "SMACC-KTS" @@ -866,8 +866,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "BASE" @@ -894,8 +894,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "RemoteServices" @@ -919,8 +919,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "CCG" @@ -944,8 +944,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "LSC-HR" @@ -972,8 +972,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Remote 360" @@ -1000,8 +1000,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "RS Cockpit" @@ -1137,8 +1137,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Voice Services" @@ -1317,8 +1317,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "ASBC-SMACC" @@ -1342,8 +1342,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "ASBC-RSU" @@ -1367,8 +1367,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "ASBC-HAL" @@ -1392,8 +1392,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "App Repository" @@ -1417,8 +1417,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Call Center Client" @@ -1442,8 +1442,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Call Center Client" @@ -1467,8 +1467,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Voice Services" @@ -1492,8 +1492,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Voice Services" @@ -1517,8 +1517,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Voice Services" @@ -1542,8 +1542,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Voice Services" @@ -1567,8 +1567,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Voice Services" @@ -1592,8 +1592,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Voice Services" @@ -1617,8 +1617,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Voice Services" @@ -1642,8 +1642,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "XCC" @@ -1667,8 +1667,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "MSGSVC" @@ -1857,8 +1857,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Perseus" @@ -1882,8 +1882,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "ASBC-RSU" @@ -1907,8 +1907,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "ASBC-SMACC" @@ -2037,8 +2037,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "LSC-JR" @@ -2062,8 +2062,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "LSC-WO" @@ -2087,8 +2087,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "APIGW-WS" @@ -2112,8 +2112,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "APIGW-WS" @@ -2137,8 +2137,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "APIGW-WS" @@ -2162,8 +2162,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "APIGW-WS" @@ -2187,8 +2187,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "APIGW-WS" @@ -2233,8 +2233,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "APIGW-APP" @@ -2258,8 +2258,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Connected Backend Services" @@ -2282,8 +2282,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Service Gateway Legacy" @@ -2340,8 +2340,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "{ProcessGroup:KubernetesNamespace/managed-app-(.++)}" @@ -2365,8 +2365,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Call Center Client" @@ -2417,8 +2417,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "{ProcessGroup:Kubernetes:component}" @@ -2475,8 +2475,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "APPCALL" @@ -2533,8 +2533,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "ACDS" @@ -2558,8 +2558,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "ECS" @@ -2583,8 +2583,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "XCS" @@ -2641,8 +2641,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "EVNS" @@ -2699,8 +2699,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "eCallGW" @@ -2757,8 +2757,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "GATS" @@ -3189,8 +3189,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "NGTP" @@ -3214,8 +3214,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "NGTP-CS" @@ -3515,8 +3515,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "{ProcessGroup:KubernetesNamespace/(.*?)-prod}" @@ -3556,8 +3556,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "{ProcessGroup:KubernetesNamespace/(.*?)-e2e}" @@ -3597,8 +3597,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "{ProcessGroup:KubernetesNamespace/(.*?)-int}" @@ -3638,8 +3638,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "{ProcessGroup:KubernetesNamespace/(.*?)-test}" @@ -3779,8 +3779,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "{ProcessGroup:KubernetesNamespace/(.*?)-prod}" @@ -3821,8 +3821,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "{ProcessGroup:KubernetesNamespace/(.*?)-e2e}" @@ -4044,8 +4044,8 @@ ], "enabled": true, "propagationTypes": [ - "PROCESS_GROUP_TO_HOST", - "PROCESS_GROUP_TO_SERVICE" + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" ], "type": "PROCESS_GROUP", "valueFormat": "Perseus" @@ -4087,191 +4087,437 @@ "valueFormat": "sfa-ota" }, { - "type": "SERVICE", - "enabled": true, - "valueFormat": "xcc-settings", - "propagationTypes": [], - "conditions": [ - { - "key": { - "attribute": "SERVICE_TYPE" - }, - "comparisonInfo": { - "type": "SERVICE_TYPE", - "operator": "EQUALS", - "value": "DATABASE_SERVICE", - "negate": false - } - }, - { - "key": { - "attribute": "SERVICE_DATABASE_NAME" - }, - "comparisonInfo": { - "type": "STRING", - "operator": "CONTAINS", - "value": "xcc-settings-db", - "negate": false, - "caseSensitive": true - } - } - ] - }, - { - "type": "SERVICE", - "enabled": true, - "valueFormat": "BMW_POINTS_ENGINE", - "propagationTypes": [], "conditions": [ { - "key": { - "attribute": "SERVICE_TYPE" - }, "comparisonInfo": { - "type": "SERVICE_TYPE", + "negate": false, "operator": "EQUALS", - "value": "DATABASE_SERVICE", - "negate": false + "type": "SERVICE_TYPE", + "value": "DATABASE_SERVICE" + }, + "key": { + "attribute": "SERVICE_TYPE", + "type": "STATIC" } }, { - "key": { - "attribute": "SERVICE_DATABASE_NAME" - }, "comparisonInfo": { - "type": "STRING", - "operator": "BEGINS", - "value": "ime_", + "caseSensitive": true, "negate": false, - "caseSensitive": true + "operator": "CONTAINS", + "type": "STRING", + "value": "vsd_cam" + }, + "key": { + "attribute": "SERVICE_DATABASE_NAME", + "type": "STATIC" } } - ] + ], + "enabled": true, + "propagationTypes": [], + "type": "SERVICE", + "valueFormat": "camvs" }, { - "type": "SERVICE", - "enabled": true, - "valueFormat": "rsu", - "propagationTypes": [], "conditions": [ { - "key": { - "attribute": "SERVICE_TYPE" - }, "comparisonInfo": { - "type": "SERVICE_TYPE", + "caseSensitive": true, + "negate": false, "operator": "EQUALS", - "value": "DATABASE_SERVICE", - "negate": false + "type": "STRING", + "value": "camvs" + }, + "key": { + "attribute": "PROCESS_GROUP_CUSTOM_METADATA", + "dynamicKey": { + "key": "app-name", + "source": "ENVIRONMENT" + }, + "type": "PROCESS_CUSTOM_METADATA_KEY" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE", + "valueFormat": "camvs" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "SERVICE_TYPE", + "value": "DATABASE_SERVICE" + }, + "key": { + "attribute": "SERVICE_TYPE", + "type": "STATIC" } }, { - "key": { - "attribute": "SERVICE_DATABASE_NAME" - }, "comparisonInfo": { - "type": "STRING", - "operator": "CONTAINS_REGEX", - "value": "^(?>cam|disp|fre|rcs|rdh|rmo|rpp|rte|rve|rvi|rvt|rwd|uvm)(?>eu|us|cn)(?>e2e|p)$", + "caseSensitive": true, "negate": false, - "caseSensitive": true + "operator": "CONTAINS", + "type": "STRING", + "value": "xcc-settings-db" + }, + "key": { + "attribute": "SERVICE_DATABASE_NAME", + "type": "STATIC" } } - ] + ], + "enabled": true, + "propagationTypes": [], + "type": "SERVICE", + "valueFormat": "xcc-settings" }, { - "type": "SERVICE", - "enabled": true, - "valueFormat": "XCC", - "propagationTypes": [], "conditions": [ - { - "key": { - "attribute": "SERVICE_TYPE" - }, - "comparisonInfo": { - "type": "SERVICE_TYPE", - "operator": "EQUALS", - "value": "DATABASE_SERVICE", - "negate": false - } + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "SERVICE_TYPE", + "value": "DATABASE_SERVICE" }, - { - "key": { - "attribute": "SERVICE_DATABASE_NAME" - }, - "comparisonInfo": { - "type": "STRING", - "operator": "CONTAINS", - "value": "xcc", - "negate": false, - "caseSensitive": true - } + "key": { + "attribute": "SERVICE_TYPE", + "type": "STATIC" } - ] + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "BEGINS_WITH", + "type": "STRING", + "value": "ime_" + }, + "key": { + "attribute": "SERVICE_DATABASE_NAME", + "type": "STATIC" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "SERVICE", + "valueFormat": "BMW_POINTS_ENGINE" }, { - "type": "SERVICE", - "enabled": true, - "valueFormat": "VPS-Trigger", - "propagationTypes": [], "conditions": [ - { - "key": { - "attribute": "SERVICE_TYPE" - }, - "comparisonInfo": { - "type": "SERVICE_TYPE", - "operator": "EQUALS", - "value": "DATABASE_SERVICE", - "negate": false - } + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "SERVICE_TYPE", + "value": "DATABASE_SERVICE" }, - { - "key": { - "attribute": "SERVICE_DATABASE_NAME" - }, - "comparisonInfo": { - "type": "STRING", - "operator": "CONTAINS", - "value": "cc", - "negate": false, - "caseSensitive": true - } + "key": { + "attribute": "SERVICE_TYPE", + "type": "STATIC" } - ] + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "BEGINS_WITH", + "type": "STRING", + "value": "ccc" + }, + "key": { + "attribute": "SERVICE_DATABASE_NAME", + "type": "STATIC" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "SERVICE", + "valueFormat": "ccc" }, { - "type": "SERVICE", - "enabled": true, - "valueFormat": "VPS-Archive", - "propagationTypes": [], "conditions": [ - { - "key": { - "attribute": "SERVICE_TYPE" - }, - "comparisonInfo": { - "caseSensitive": true, - "negate": false, - "operator": "REGEX_MATCHES", - "type": "STRING", - "value": "cc_.*vps.*archiv" - } + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "EQUALS", + "type": "STRING", + "value": "asbc-hal" }, - { - "key": { - "attribute": "SERVICE_DATABASE_NAME" - }, - "comparisonInfo": { - "type": "STRING", - "operator": "CONTAINS", - "value": "cc", - "negate": false, - "caseSensitive": true - } + "key": { + "attribute": "PROCESS_GROUP_PREDEFINED_METADATA", + "dynamicKey": "KUBERNETES_NAMESPACE", + "type": "PROCESS_PREDEFINED_METADATA_KEY" } - ] + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP", + "valueFormat": "ASBC-HAL-CL" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "EQUALS", + "type": "STRING", + "value": "asbc-ngtp" + }, + "key": { + "attribute": "PROCESS_GROUP_PREDEFINED_METADATA", + "dynamicKey": "KUBERNETES_NAMESPACE", + "type": "PROCESS_PREDEFINED_METADATA_KEY" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP", + "valueFormat": "ASBC-NGTP" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "EQUALS", + "type": "STRING", + "value": "hpauth" + }, + "key": { + "attribute": "PROCESS_GROUP_PREDEFINED_METADATA", + "dynamicKey": "KUBERNETES_NAMESPACE", + "type": "PROCESS_PREDEFINED_METADATA_KEY" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_SERVICE", + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP", + "valueFormat": "hpauth" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "SERVICE_TYPE", + "value": "DATABASE_SERVICE" + }, + "key": { + "attribute": "SERVICE_TYPE", + "type": "STATIC" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "countly_mongo_db" + }, + "key": { + "attribute": "SERVICE_DATABASE_NAME", + "type": "STATIC" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "SERVICE", + "valueFormat": "Countly" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "SERVICE_TYPE", + "value": "DATABASE_SERVICE" + }, + "key": { + "attribute": "SERVICE_TYPE", + "type": "STATIC" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "asbchal" + }, + "key": { + "attribute": "SERVICE_DATABASE_NAME", + "type": "STATIC" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "SERVICE", + "valueFormat": "ASBC-HAL-CL" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "SERVICE_TYPE", + "value": "DATABASE_SERVICE" + }, + "key": { + "attribute": "SERVICE_TYPE", + "type": "STATIC" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "REGEX_MATCHES", + "type": "STRING", + "value": "^(?\u003ecam|disp|fre|rcs|rdh|rmo|rpp|rte|rve|rvi|rvt|rwd|uvm)(?\u003eeu|us|cn)(?\u003ee2e|p)$" + }, + "key": { + "attribute": "SERVICE_DATABASE_NAME", + "type": "STATIC" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "SERVICE", + "valueFormat": "rsu" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "SERVICE_TYPE", + "value": "DATABASE_SERVICE" + }, + "key": { + "attribute": "SERVICE_TYPE", + "type": "STATIC" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "REGEX_MATCHES", + "type": "STRING", + "value": "cc_.*vps.*archiv" + }, + "key": { + "attribute": "SERVICE_DATABASE_NAME", + "type": "STATIC" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "SERVICE", + "valueFormat": "VPS-Archive" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "SERVICE_TYPE", + "value": "DATABASE_SERVICE" + }, + "key": { + "attribute": "SERVICE_TYPE", + "type": "STATIC" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "REGEX_MATCHES", + "type": "STRING", + "value": "cc_.*vps.*monitor" + }, + "key": { + "attribute": "SERVICE_DATABASE_NAME", + "type": "STATIC" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "SERVICE", + "valueFormat": "VPS-Monitor" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "SERVICE_TYPE", + "value": "DATABASE_SERVICE" + }, + "key": { + "attribute": "SERVICE_TYPE", + "type": "STATIC" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "REGEX_MATCHES", + "type": "STRING", + "value": "cc_.*vps.*config" + }, + "key": { + "attribute": "SERVICE_DATABASE_NAME", + "type": "STATIC" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "SERVICE", + "valueFormat": "VPS-Admin" } ] -} \ No newline at end of file + } \ No newline at end of file From 54a8562812e70b82561bb0da3ee162b0832236c8 Mon Sep 17 00:00:00 2001 From: Matthias Meyer Date: Tue, 12 Oct 2021 13:07:05 +0200 Subject: [PATCH 32/33] OPMAAS-702 - Add initial configuration of application OCLISc2v to Dynatrace --- .../alerting-profile/alerting-profile.yaml | 43 ++++++++ .../CD_oclisc2v/alerting-profile/default.json | 103 ++++++++++++++++++ .../calculated-metrics-service/README.md | 4 + .../conditional-naming-processgroup/README.md | 4 + .../conditional-naming-processgroup.yaml | 8 ++ .../template.json | 29 +++++ .../conditional-naming-service/README.md | 4 + .../conditional-naming-service.yaml | 8 ++ .../conditional-naming-service/template.json | 29 +++++ .../CD_oclisc2v/custom-service-java/README.md | 4 + .../custom-service-java.yaml | 9 ++ .../custom-service-java/template-1-1.json | 23 ++++ .../CD_oclisc2v/notification/README.md | 4 + .../CD_oclisc2v/notification/email.json | 13 +++ .../CD_oclisc2v/notification/itsm.json | 20 ++++ .../CD_oclisc2v/notification/msTeams.json | 11 ++ .../notification/notification.yaml | 102 +++++++++++++++++ .../CD_oclisc2v/synthetic-monitor/README.md | 4 + .../synthetic-monitor/default.json | 82 ++++++++++++++ .../synthetic-monitor/synthetic-monitor.yaml | 10 ++ 20 files changed, 514 insertions(+) create mode 100644 BMW-Dynatrace-config/CD_oclisc2v/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_oclisc2v/alerting-profile/default.json create mode 100644 BMW-Dynatrace-config/CD_oclisc2v/calculated-metrics-service/README.md create mode 100644 BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/README.md create mode 100644 BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/conditional-naming-processgroup.yaml create mode 100644 BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/template.json create mode 100644 BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/README.md create mode 100644 BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/conditional-naming-service.yaml create mode 100644 BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/template.json create mode 100644 BMW-Dynatrace-config/CD_oclisc2v/custom-service-java/README.md create mode 100644 BMW-Dynatrace-config/CD_oclisc2v/custom-service-java/custom-service-java.yaml create mode 100644 BMW-Dynatrace-config/CD_oclisc2v/custom-service-java/template-1-1.json create mode 100644 BMW-Dynatrace-config/CD_oclisc2v/notification/README.md create mode 100644 BMW-Dynatrace-config/CD_oclisc2v/notification/email.json create mode 100644 BMW-Dynatrace-config/CD_oclisc2v/notification/itsm.json create mode 100644 BMW-Dynatrace-config/CD_oclisc2v/notification/msTeams.json create mode 100644 BMW-Dynatrace-config/CD_oclisc2v/notification/notification.yaml create mode 100644 BMW-Dynatrace-config/CD_oclisc2v/synthetic-monitor/README.md create mode 100644 BMW-Dynatrace-config/CD_oclisc2v/synthetic-monitor/default.json create mode 100644 BMW-Dynatrace-config/CD_oclisc2v/synthetic-monitor/synthetic-monitor.yaml diff --git a/BMW-Dynatrace-config/CD_oclisc2v/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_oclisc2v/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..dda0e11e --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDOCLIS_c2v: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDOCLIS_c2v.EMEA-Prod: +- name: CD_OCLISc2v PROD +- tag: OCLIS_c2v +- mzId: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- env: PROD +- skipDeployment: "false" +CDOCLIS_c2v.NA-Prod: +- name: CD_OCLISc2v PROD +- tag: OCLIS_c2v +- mzId: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- env: PROD +- skipDeployment: "false" +CDOCLIS_c2v.CN-Prod: +- name: CD_OCLISc2v PROD +- tag: OCLIS_c2v +- mzId: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDOCLIS_c2v.EMEA-PreProd: +- name: CD_OCLISc2v INT +- tag: OCLIS_c2v +- mzId: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- env: INT +- skipDeployment: "false" +CDOCLIS_c2v.NA-PreProd: +- name: CD_OCLISc2v INT +- tag: OCLIS_c2v +- mzId: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- env: INT +- skipDeployment: "false" +CDOCLIS_c2v.CN-PreProd: +- name: CD_OCLISc2v INT +- tag: OCLIS_c2v +- mzId: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/alerting-profile/default.json b/BMW-Dynatrace-config/CD_oclisc2v/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_oclisc2v/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..f2b45e5d --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDOCLIS_c2v: template.json + +CDOCLIS_c2v: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: OCLIS_c2v +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..f2b45e5d --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDOCLIS_c2v: template.json + +CDOCLIS_c2v: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: OCLIS_c2v +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/custom-service-java/README.md b/BMW-Dynatrace-config/CD_oclisc2v/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_oclisc2v/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_oclisc2v/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/notification/README.md b/BMW-Dynatrace-config/CD_oclisc2v/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/notification/email.json b/BMW-Dynatrace-config/CD_oclisc2v/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/notification/itsm.json b/BMW-Dynatrace-config/CD_oclisc2v/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_oclisc2v/notification/msTeams.json b/BMW-Dynatrace-config/CD_oclisc2v/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/notification/notification.yaml b/BMW-Dynatrace-config/CD_oclisc2v/notification/notification.yaml new file mode 100644 index 00000000..26cc5d29 --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDOCLIS_c2v: msTeams.json +- CDOCLIS_c2vITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDOCLIS_c2v.EMEA-Prod: +- name: CD_OCLISc2v PROD +- alertingProfile: CD_OCLISc2v/alerting-profile/CDOCLIS_c2v.id +- webhook: https://empty +- skipDeployment: "true" +CDOCLIS_c2v.NA-Prod: +- name: CD_OCLISc2v PROD +- alertingProfile: CD_OCLISc2v/alerting-profile/CDOCLIS_c2v.id +- webhook: https://empty +- skipDeployment: "true" +CDOCLIS_c2v.CN-Prod: +- name: CD_OCLISc2v PROD +- alertingProfile: CD_OCLISc2v/alerting-profile/CDOCLIS_c2v.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDOCLIS_c2v.EMEA-PreProd: +- name: CD_OCLISc2v INT +- alertingProfile: CD_OCLISc2v/alerting-profile/CDOCLIS_c2v.id +- webhook: https://empty +- skipDeployment: "true" +CDOCLIS_c2v.NA-PreProd: +- name: CD_OCLISc2v INT +- alertingProfile: CD_OCLISc2v/alerting-profile/CDOCLIS_c2v.id +- webhook: https://empty +- skipDeployment: "true" +CDOCLIS_c2v.CN-PreProd: +- name: CD_OCLISc2v INT +- alertingProfile: CD_OCLISc2v/alerting-profile/CDOCLIS_c2v.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDOCLIS_c2vITSM.EMEA-Prod: +- name: CD_OCLISc2v ITSM PROD +- alertingProfile: CD_OCLISc2v/alerting-profile/CDOCLIS_c2v.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDOCLIS_c2vITSM.NA-Prod: +- name: CD_OCLISc2v ITSM PROD +- alertingProfile: CD_OCLISc2v/alerting-profile/CDOCLIS_c2v.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDOCLIS_c2vITSM.CN-Prod: +- name: CD_OCLISc2v ITSM PROD +- alertingProfile: CD_OCLISc2v/alerting-profile/CDOCLIS_c2v.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDOCLIS_c2vITSM.EMEA-PreProd: +- name: CD_OCLISc2v ITSM INT +- alertingProfile: CD_OCLISc2v/alerting-profile/CDOCLIS_c2v.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDOCLIS_c2vITSM.NA-PreProd: +- name: CD_OCLISc2v ITSM INT +- alertingProfile: CD_OCLISc2v/alerting-profile/CDOCLIS_c2v.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDOCLIS_c2vITSM.CN-PreProd: +- name: CD_OCLISc2v ITSM INT +- alertingProfile: CD_OCLISc2v/alerting-profile/CDOCLIS_c2v.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_oclisc2v/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_oclisc2v/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_oclisc2v/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_oclisc2v/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..d6a7794e --- /dev/null +++ b/BMW-Dynatrace-config/CD_oclisc2v/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- OCLIS_c2v: default.json + +OCLIS_c2v: +- name: CD_OCLISc2v - +- mzName: CD_OCLISc2v/management-zone/CDOCLIS_c2v.name +- mzId: CD_OCLISc2v/management-zone/CDOCLIS_c2v.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file From 7decd23b2f2d973c33edc2eb6f19c7d7d7ce84d2 Mon Sep 17 00:00:00 2001 From: Matthias Meyer Date: Tue, 12 Oct 2021 13:31:11 +0200 Subject: [PATCH 33/33] OPMAAS-704 - Add initial configuration of application VCSM to Dynatrace --- .../alerting-profile/alerting-profile.yaml | 43 +++ .../CD_VCSM/alerting-profile/default.json | 103 ++++++ .../calculated-metrics-service/README.md | 4 + .../conditional-naming-processgroup/README.md | 4 + .../conditional-naming-processgroup.yaml | 8 + .../template.json | 29 ++ .../conditional-naming-service/README.md | 4 + .../conditional-naming-service.yaml | 8 + .../conditional-naming-service/template.json | 29 ++ .../CD_VCSM/custom-service-java/README.md | 4 + .../custom-service-java.yaml | 9 + .../custom-service-java/template-1-1.json | 23 ++ .../CD_VCSM/dashboard/README.md | 4 + .../CD_VCSM/dashboard/dashboard.yaml | 125 +++++++ .../CD_VCSM/dashboard/default.json | 309 ++++++++++++++++++ .../CD_VCSM/management-zone/README.md | 4 + .../CD_VCSM/management-zone/default.json | 114 +++++++ .../management-zone/management-zone.yaml | 6 + .../CD_VCSM/notification/README.md | 4 + .../CD_VCSM/notification/email.json | 13 + .../CD_VCSM/notification/itsm.json | 20 ++ .../CD_VCSM/notification/msTeams.json | 11 + .../CD_VCSM/notification/notification.yaml | 102 ++++++ .../CD_VCSM/synthetic-monitor/README.md | 4 + .../CD_VCSM/synthetic-monitor/default.json | 82 +++++ .../synthetic-monitor/synthetic-monitor.yaml | 10 + 26 files changed, 1076 insertions(+) create mode 100644 BMW-Dynatrace-config/CD_VCSM/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_VCSM/alerting-profile/default.json create mode 100644 BMW-Dynatrace-config/CD_VCSM/calculated-metrics-service/README.md create mode 100644 BMW-Dynatrace-config/CD_VCSM/conditional-naming-processgroup/README.md create mode 100644 BMW-Dynatrace-config/CD_VCSM/conditional-naming-processgroup/conditional-naming-processgroup.yaml create mode 100644 BMW-Dynatrace-config/CD_VCSM/conditional-naming-processgroup/template.json create mode 100644 BMW-Dynatrace-config/CD_VCSM/conditional-naming-service/README.md create mode 100644 BMW-Dynatrace-config/CD_VCSM/conditional-naming-service/conditional-naming-service.yaml create mode 100644 BMW-Dynatrace-config/CD_VCSM/conditional-naming-service/template.json create mode 100644 BMW-Dynatrace-config/CD_VCSM/custom-service-java/README.md create mode 100644 BMW-Dynatrace-config/CD_VCSM/custom-service-java/custom-service-java.yaml create mode 100644 BMW-Dynatrace-config/CD_VCSM/custom-service-java/template-1-1.json create mode 100644 BMW-Dynatrace-config/CD_VCSM/dashboard/README.md create mode 100644 BMW-Dynatrace-config/CD_VCSM/dashboard/dashboard.yaml create mode 100644 BMW-Dynatrace-config/CD_VCSM/dashboard/default.json create mode 100644 BMW-Dynatrace-config/CD_VCSM/management-zone/README.md create mode 100644 BMW-Dynatrace-config/CD_VCSM/management-zone/default.json create mode 100644 BMW-Dynatrace-config/CD_VCSM/management-zone/management-zone.yaml create mode 100644 BMW-Dynatrace-config/CD_VCSM/notification/README.md create mode 100644 BMW-Dynatrace-config/CD_VCSM/notification/email.json create mode 100644 BMW-Dynatrace-config/CD_VCSM/notification/itsm.json create mode 100644 BMW-Dynatrace-config/CD_VCSM/notification/msTeams.json create mode 100644 BMW-Dynatrace-config/CD_VCSM/notification/notification.yaml create mode 100644 BMW-Dynatrace-config/CD_VCSM/synthetic-monitor/README.md create mode 100644 BMW-Dynatrace-config/CD_VCSM/synthetic-monitor/default.json create mode 100644 BMW-Dynatrace-config/CD_VCSM/synthetic-monitor/synthetic-monitor.yaml diff --git a/BMW-Dynatrace-config/CD_VCSM/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_VCSM/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..8e869668 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/alerting-profile/alerting-profile.yaml @@ -0,0 +1,43 @@ +config: +- CDVCSM: default.json + + +#Prod alerting profiles for EMEA/NA/CN +CDVCSM.EMEA-Prod: +- name: CD_VCSM PROD +- tag: VCSM +- mzId: CD_VCSM/management-zone/CDVCSM.id +- env: PROD +- skipDeployment: "false" +CDVCSM.NA-Prod: +- name: CD_VCSM PROD +- tag: VCSM +- mzId: CD_VCSM/management-zone/CDVCSM.id +- env: PROD +- skipDeployment: "false" +CDVCSM.CN-Prod: +- name: CD_VCSM PROD +- tag: VCSM +- mzId: CD_VCSM/management-zone/CDVCSM.id +- env: PROD +- skipDeployment: "false" + +#INT alerting profiles for EMEA/NA/CN +CDVCSM.EMEA-PreProd: +- name: CD_VCSM INT +- tag: VCSM +- mzId: CD_VCSM/management-zone/CDVCSM.id +- env: INT +- skipDeployment: "false" +CDVCSM.NA-PreProd: +- name: CD_VCSM INT +- tag: VCSM +- mzId: CD_VCSM/management-zone/CDVCSM.id +- env: INT +- skipDeployment: "false" +CDVCSM.CN-PreProd: +- name: CD_VCSM INT +- tag: VCSM +- mzId: CD_VCSM/management-zone/CDVCSM.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/alerting-profile/default.json b/BMW-Dynatrace-config/CD_VCSM/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/alerting-profile/default.json @@ -0,0 +1,103 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": "{{.mzId}}", + "mzId": "{{.mzId}}", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + }, + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "{{.env}}" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_VCSM/calculated-metrics-service/README.md new file mode 100644 index 00000000..f958f929 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/calculated-metrics-service/README.md @@ -0,0 +1,4 @@ + +### How to configure custom metrics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Calculated+Metrics) page to configure your custom metrics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_VCSM/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..8c10d2b4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/conditional-naming-processgroup/README.md @@ -0,0 +1,4 @@ + +### How to configure process groups? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_VCSM/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..0725945d --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDVCSM: template.json + +CDVCSM: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: VCSM +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_VCSM/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_VCSM/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/conditional-naming-processgroup/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "type": "PROCESS_GROUP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_VCSM/conditional-naming-service/README.md new file mode 100644 index 00000000..93dc620b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/conditional-naming-service/README.md @@ -0,0 +1,4 @@ + +### How to configure service naming + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_VCSM/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..0725945d --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDVCSM: template.json + +CDVCSM: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: VCSM +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_VCSM/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_VCSM/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/conditional-naming-service/template.json @@ -0,0 +1,29 @@ +{ + "displayName": "{{.name}}", + "enabled": true, + "metadata": { + "clusterVersion": "1.214.107.20210407-223952", + "configurationVersions": [ + 0 + ] + }, + "nameFormat": "{{.nameFormat}}", + "rules": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "type": "SERVICE" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/custom-service-java/README.md b/BMW-Dynatrace-config/CD_VCSM/custom-service-java/README.md new file mode 100644 index 00000000..a467a6f8 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/custom-service-java/README.md @@ -0,0 +1,4 @@ + +### How to configure custom services? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Custom+Services) page to configure your custom services. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_VCSM/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/custom-service-java/custom-service-java.yaml @@ -0,0 +1,9 @@ +config: +- customService1: template-1-1.json + +customService1: +- name: myJOYNRService +- className: com.bmw.cc.conn.this.is.just.an.exampleClasss +- methodName: exampleJoynrMethod +- returnType: void +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_VCSM/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/custom-service-java/template-1-1.json @@ -0,0 +1,23 @@ +{ + "enabled": true, + "name": "{{.name}}", + "processGroups": [], + "queueEntryPoint": false, + "queueEntryPointType": null, + "rules": [ + { + "annotations": [], + "className": "{{.className}}", + "enabled": true, + "fileName": "", + "matcher": "EQUALS", + "methodRules": [ + { + "argumentTypes": [], + "methodName": "{{.methodName}}", + "returnType": "{{.returnType}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/dashboard/README.md b/BMW-Dynatrace-config/CD_VCSM/dashboard/README.md new file mode 100644 index 00000000..2b6d5717 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_VCSM/dashboard/dashboard.yaml new file mode 100644 index 00000000..78847e41 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/dashboard/dashboard.yaml @@ -0,0 +1,125 @@ +config: +- CDVCSM-PROD: default.json +- CDVCSM-E2E: default.json +- CDVCSM-INT: default.json +- CDVCSM-TEST: default.json + +#PROD dashboards for EMEA/NA/CN Prod +CDVCSM-PROD: +- name: CD_VCSM PROD +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: PROD +- skipDeployment: "true" +CDVCSM-PROD.EMEA-Prod: +- name: CD_VCSM PROD +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: PROD +- skipDeployment: "false" +CDVCSM-PROD.NA-Prod: +- name: CD_VCSM PROD +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: PROD +- skipDeployment: "false" +CDVCSM-PROD.CN-Prod: +- name: CD_VCSM PROD +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN Prod +CDVCSM-E2E: +- name: CD_VCSM E2E +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: E2E +- skipDeployment: "true" +CDVCSM-E2E.EMEA-Prod: +- name: CD_VCSM E2E +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: E2E +- skipDeployment: "false" +CDVCSM-E2E.NA-Prod: +- name: CD_VCSM E2E +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: E2E +- skipDeployment: "false" +CDVCSM-E2E.CN-Prod: +- name: CD_VCSM E2E +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: E2E +- skipDeployment: "false" + +#INT dashboards for EMEA/NA/CN PreProd +CDVCSM-INT: +- name: CD_VCSM INT +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: INT +- skipDeployment: "true" +CDVCSM-INT.EMEA-PreProd: +- name: CD_VCSM INT +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: INT +- skipDeployment: "false" +CDVCSM-INT.NA-PreProd: +- name: CD_VCSM INT +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: INT +- skipDeployment: "false" +CDVCSM-INT.CN-PreProd: +- name: CD_VCSM INT +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN PreProd +CDVCSM-TEST: +- name: CD_VCSM TEST +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: TEST +- skipDeployment: "true" +CDVCSM-TEST.EMEA-PreProd: +- name: CD_VCSM TEST +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: TEST +- skipDeployment: "false" +CDVCSM-TEST.NA-PreProd: +- name: CD_VCSM TEST +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: TEST +- skipDeployment: "false" +CDVCSM-TEST.CN-PreProd: +- name: CD_VCSM TEST +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- tag: VCSM +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/dashboard/default.json b/BMW-Dynatrace-config/CD_VCSM/dashboard/default.json new file mode 100644 index 00000000..ef07d18c --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/dashboard/default.json @@ -0,0 +1,309 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.tag}}" + ], + "preset": true + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {} + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/management-zone/README.md b/BMW-Dynatrace-config/CD_VCSM/management-zone/README.md new file mode 100644 index 00000000..ffe9d6e3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/management-zone/README.md @@ -0,0 +1,4 @@ + +### How to configure management zones? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/management-zone/default.json b/BMW-Dynatrace-config/CD_VCSM/management-zone/default.json new file mode 100644 index 00000000..bffa0c3b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/management-zone/default.json @@ -0,0 +1,114 @@ +{ + "dimensionalRules": [], + "name": "{{.name}}", + "rules": [ + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "HOST_TAGS" + } + } + ], + "enabled": true, + "type": "HOST" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAMESPACE_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION_NAMESPACE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION" + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_VCSM/management-zone/management-zone.yaml new file mode 100644 index 00000000..6f33a832 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDVCSM: default.json + +CDVCSM: +- name: CD_VCSM +- tag: VCSM diff --git a/BMW-Dynatrace-config/CD_VCSM/notification/README.md b/BMW-Dynatrace-config/CD_VCSM/notification/README.md new file mode 100644 index 00000000..5ba3825a --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/notification/email.json b/BMW-Dynatrace-config/CD_VCSM/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/notification/email.json @@ -0,0 +1,13 @@ +{ + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "bccReceivers": [], + "body": "{ProblemDetailsHTML}", + "ccReceivers": [], + "name": "{{.name}}", + "receivers": [ + "{{.receivers}}" + ], + "subject": "{State} Problem {ProblemID}: {ImpactedEntity}", + "type": "EMAIL" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/notification/itsm.json b/BMW-Dynatrace-config/CD_VCSM/notification/itsm.json new file mode 100644 index 00000000..677ef0ea --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/notification/itsm.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [ + { + "name": "Authorization", + "value": "{{.Env.SecretAuthHeader}}" + }, + { + "name": "x-apikey", + "value": "{{.Env.SecretXAPIKey}}" + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: {{.mzName}}\",\n \"severity\": \"MINOR\",\n \"origin\": \"{{.appdid}}\",\n \"sub_origin\": \"Dynatrace SaaS - {ImpactedEntity}\",\n \"adapter_host\": \"{{ .DTEnvironment }}\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"{{.contractid}}\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"test\",\n \"sub_source\": \"Environment: CoCo_EMEA_Prod\",\n \"server_loc\": \"\",\n \"event_id\": \"AI001\",\n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} diff --git a/BMW-Dynatrace-config/CD_VCSM/notification/msTeams.json b/BMW-Dynatrace-config/CD_VCSM/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/notification/msTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "{{.alertingProfile}}", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "{{.webhook}}" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/notification/notification.yaml b/BMW-Dynatrace-config/CD_VCSM/notification/notification.yaml new file mode 100644 index 00000000..f8b5c6d4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/notification/notification.yaml @@ -0,0 +1,102 @@ +config: +- CDVCSM: msTeams.json +- CDVCSMITSM: itsm.json + +# Notification System for EMEA/NA/CN Prod msTeams +CDVCSM.EMEA-Prod: +- name: CD_VCSM PROD +- alertingProfile: CD_VCSM/alerting-profile/CDVCSM.id +- webhook: https://empty +- skipDeployment: "true" +CDVCSM.NA-Prod: +- name: CD_VCSM PROD +- alertingProfile: CD_VCSM/alerting-profile/CDVCSM.id +- webhook: https://empty +- skipDeployment: "true" +CDVCSM.CN-Prod: +- name: CD_VCSM PROD +- alertingProfile: CD_VCSM/alerting-profile/CDVCSM.id +- webhook: https://empty +- skipDeployment: "true" + +# Notification System for EMEA/NA/CN PreProd msTeams +CDVCSM.EMEA-PreProd: +- name: CD_VCSM INT +- alertingProfile: CD_VCSM/alerting-profile/CDVCSM.id +- webhook: https://empty +- skipDeployment: "true" +CDVCSM.NA-PreProd: +- name: CD_VCSM INT +- alertingProfile: CD_VCSM/alerting-profile/CDVCSM.id +- webhook: https://empty +- skipDeployment: "true" +CDVCSM.CN-PreProd: +- name: CD_VCSM INT +- alertingProfile: CD_VCSM/alerting-profile/CDVCSM.id +- webhook: https://empty +- skipDeployment: "true" + + +# Notification System for EMEA/NA/CN Prod ITSM +CDVCSMITSM.EMEA-Prod: +- name: CD_VCSM ITSM PROD +- alertingProfile: CD_VCSM/alerting-profile/CDVCSM.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VCSM/management-zone/CDVCSM.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVCSMITSM.NA-Prod: +- name: CD_VCSM ITSM PROD +- alertingProfile: CD_VCSM/alerting-profile/CDVCSM.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VCSM/management-zone/CDVCSM.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDVCSMITSM.CN-Prod: +- name: CD_VCSM ITSM PROD +- alertingProfile: CD_VCSM/alerting-profile/CDVCSM.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VCSM/management-zone/CDVCSM.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVCSMITSM.EMEA-PreProd: +- name: CD_VCSM ITSM INT +- alertingProfile: CD_VCSM/alerting-profile/CDVCSM.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VCSM/management-zone/CDVCSM.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + +CDVCSMITSM.NA-PreProd: +- name: CD_VCSM ITSM INT +- alertingProfile: CD_VCSM/alerting-profile/CDVCSM.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VCSM/management-zone/CDVCSM.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + + +CDVCSMITSM.CN-PreProd: +- name: CD_VCSM ITSM INT +- alertingProfile: CD_VCSM/alerting-profile/CDVCSM.id +- webhook: https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1 +- contractid: "10APP11906401" +- appdid: "TEST123" +- mzName: CD_VCSM/management-zone/CDVCSM.id +- DTEnvironment: https://xxu26128.live.dynatrace.com +- skipDeployment: "true" + diff --git a/BMW-Dynatrace-config/CD_VCSM/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_VCSM/synthetic-monitor/README.md new file mode 100644 index 00000000..04d7949f --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/synthetic-monitor/README.md @@ -0,0 +1,4 @@ + +### How to configure synthetics? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Synthetic+Monitors) page to configure your synthetics. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_VCSM/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/synthetic-monitor/default.json @@ -0,0 +1,82 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "enabled": true, + "frequencyMin": 1, + "locations": [ + "{{.location}}" + ], + "managementZones": [ + { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "{{.name}}", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true, + "requestHeaders": [ + { + "name": "accept", + "value": "application/json" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "api_key", + "value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23" + } + ] + }, + "description": "{{.name}}", + "method": "GET", + "url": "{{.endpoint}}", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "200" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_VCSM/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_VCSM/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..a725daff --- /dev/null +++ b/BMW-Dynatrace-config/CD_VCSM/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- VCSM: default.json + +VCSM: +- name: CD_VCSM - +- mzName: CD_VCSM/management-zone/CDVCSM.name +- mzId: CD_VCSM/management-zone/CDVCSM.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file