From 32d162194e06cb579386562514c71bfad4e55a67 Mon Sep 17 00:00:00 2001 From: mosadak al salamat Date: Tue, 5 Oct 2021 08:20:22 +0200 Subject: [PATCH 1/7] 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 35c3ba0ba877c28fdfb2e3bbbc322c1fb570dc4c Mon Sep 17 00:00:00 2001 From: ermisw Date: Tue, 5 Oct 2021 13:51:32 +0200 Subject: [PATCH 2/7] 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 3/7] 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 863bff93b3abea85185b0d378a899fa8889fffb5 Mon Sep 17 00:00:00 2001 From: mosadak al salamat Date: Wed, 6 Oct 2021 16:23:39 +0200 Subject: [PATCH 4/7] 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 b627f5ecd345a402b2303e7b6d25e746f0f54f49 Mon Sep 17 00:00:00 2001 From: Santiago Aguirre Date: Thu, 7 Oct 2021 14:16:41 +0200 Subject: [PATCH 5/7] 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 6/7] 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 7/7] 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