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