From 64542d3269e432b4ea9a0353b2316ff169201093 Mon Sep 17 00:00:00 2001 From: qxz15oi Date: Wed, 28 Apr 2021 11:05:04 +0200 Subject: [PATCH] added templates for GCDM, Infotainment SMACC-BE, Service-Bus, Service-Gateway, Mobile, LSC-FSU, Navigation-Information-Services --- .../management-zone/management-zone.yaml | 2 +- .../CD_GCDM/alerting-profile/CDGCDM.json | 63 ++++ .../alerting-profile/alerting-profile.yaml | 5 + .../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_GCDM/custom-service-java/README.md | 4 + .../custom-service-java.yaml | 9 + .../custom-service-java/template-1-1.json | 23 ++ .../CD_GCDM/dashboard/README.md | 4 + .../CD_GCDM/dashboard/dashboard.yaml | 127 +++++++ .../CD_GCDM/dashboard/default.json | 308 +++++++++++++++++ .../management-zone/CDGCDM.json} | 10 +- .../management-zone/management-zone.yaml | 5 + .../CD_GCDM/notification/README.md | 4 + .../CD_GCDM/notification/email.json | 13 + .../CD_GCDM/notification/msTeams.json | 11 + .../CD_GCDM/notification/notification.yaml | 11 + .../alerting-profile/CDInfotainment.json | 99 ++++++ .../alerting-profile/alerting-profile.yaml | 5 + .../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 ++ .../dashboard/README.md | 4 + .../dashboard/dashboard.yaml | 127 +++++++ .../dashboard/default.json | 308 +++++++++++++++++ ...fotainment-In-Car-Experience-Services.json | 144 ++++++++ .../management-zone/management-zone.yaml | 5 + ...DInfotainment-ITSM-10APP10294512MINOR.json | 20 ++ .../notification/CDInfotainment-MSTeams.json | 11 + .../notification/notification.yaml | 17 + .../synthetic-monitor/README.md | 4 + .../synthetic-monitor/default.json | 82 +++++ .../synthetic-monitor/synthetic-monitor.yaml | 10 + .../alerting-profile/CDLSC-FSU.json | 99 ++++++ .../alerting-profile/alerting-profile.yaml | 5 + .../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_LSC-FSU/custom-service-java/README.md | 4 + .../custom-service-java.yaml | 9 + .../custom-service-java/template-1-1.json | 23 ++ .../CD_LSC-FSU/dashboard/README.md | 4 + .../CD_LSC-FSU/dashboard/dashboard.yaml | 127 +++++++ .../CD_LSC-FSU/dashboard/default.json | 308 +++++++++++++++++ .../CD_LSC-FSU/management-zone/CDLSC-FSU.json | 99 ++++++ .../management-zone/management-zone.yaml | 5 + .../CD_LSC-FSU/notification/README.md | 4 + .../CD_LSC-FSU/notification/email.json | 13 + .../CD_LSC-FSU/notification/msTeams.json | 11 + .../CD_LSC-FSU/notification/notification.yaml | 10 + .../CD_LSC-FSU/synthetic-monitor/README.md | 4 + .../CD_LSC-FSU/synthetic-monitor/default.json | 82 +++++ .../synthetic-monitor/synthetic-monitor.yaml | 10 + .../alerting-profile/alerting-profile.yaml | 60 ++++ .../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_Location-Services/dashboard/README.md | 4 + .../dashboard/dashboard.yaml | 127 +++++++ .../dashboard/default.json | 308 +++++++++++++++++ .../management-zone/README.md | 4 + .../management-zone/default.json | 114 +++++++ .../management-zone/management-zone.yaml | 3 +- .../notification/README.md | 4 + .../notification/email.json | 13 + .../notification/msTeams.json | 11 + .../notification/notification.yaml | 51 +++ .../synthetic-monitor/README.md | 4 + .../synthetic-monitor/default.json | 82 +++++ .../synthetic-monitor/synthetic-monitor.yaml | 10 + .../Mobile2DarkOpsChannel.json | 55 ++++ .../alerting-profile/alerting-profile.yaml | 5 + .../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_Mobile_2/custom-service-java/README.md | 4 + .../custom-service-java.yaml | 9 + .../custom-service-java/template-1-1.json | 23 ++ .../CD_Mobile_2/dashboard/README.md | 4 + .../CD_Mobile_2/dashboard/dashboard.yaml | 127 +++++++ .../CD_Mobile_2/dashboard/default.json | 308 +++++++++++++++++ .../management-zone/CDMobile2.json | 33 ++ .../management-zone/management-zone.yaml | 5 + .../notification/Mobile2DarkOpsChannel.json | 11 + .../Mobile2DarkOpsChannelRuntime.json | 11 + .../notification/notification.yaml | 17 + .../CD_Mobile_2/synthetic-monitor/README.md | 4 + .../synthetic-monitor/default.json | 82 +++++ .../synthetic-monitor/synthetic-monitor.yaml | 10 + .../alerting-profile/alerting-profile.yaml | 60 ++++ .../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 ++ .../dashboard/README.md | 4 + .../dashboard/dashboard.yaml | 127 +++++++ .../dashboard/default.json | 308 +++++++++++++++++ .../management-zone/README.md | 4 + .../management-zone/default.json | 114 +++++++ .../management-zone/management-zone.yaml | 6 + .../notification/README.md | 4 + .../notification/email.json | 13 + .../notification/msTeams.json | 11 + .../notification/notification.yaml | 51 +++ .../synthetic-monitor/README.md | 4 + .../synthetic-monitor/default.json | 82 +++++ .../synthetic-monitor/synthetic-monitor.yaml | 10 + .../alerting-profile/CDSMACC-BE.json | 159 +++++++++ .../alerting-profile/alerting-profile.yaml | 5 + .../management-zone/CDSMACC-BE.json | 310 ++++++++++++++++++ .../management-zone/management-zone.yaml | 5 + .../notification/CDSMACC-BE-MSTeams.json | 11 + .../notification/notification.yaml | 9 + .../SMACC-BE-Availability.json | 65 ++++ .../SMACC-KTS-Availability.json | 65 ++++ .../synthetic-monitor/synthetic-monitor.yaml | 17 + .../alerting-profile/CDSMS-Gateway.json | 63 ++++ .../alerting-profile/alerting-profile.yaml | 5 + .../management-zone/CDSMS-Gateway.json | 58 ++++ .../management-zone/management-zone.yaml | 5 + .../synthetic-monitor/SMSGWEMEAE2E.json | 85 +++++ .../synthetic-monitor/SMSGWEMEAPROD.json | 85 +++++ .../synthetic-monitor/synthetic-monitor.yaml | 17 + .../alerting-profile/CDService-BusE2E.json | 110 +++++++ .../alerting-profile/CDService-BusPROD.json | 110 +++++++ .../alerting-profile/alerting-profile.yaml | 8 + .../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_Service-Bus/dashboard/README.md | 4 + .../CD_Service-Bus/dashboard/dashboard.yaml | 127 +++++++ .../CD_Service-Bus/dashboard/default.json | 308 +++++++++++++++++ .../management-zone/CDService-Bus.json | 85 +++++ .../management-zone/management-zone.yaml | 5 + .../notification/CDService-BusE2E.json | 11 + .../notification/CDService-BusPROD.json | 11 + .../notification/notification.yaml | 17 + .../synthetic-monitor/README.md | 4 + .../synthetic-monitor/default.json | 82 +++++ .../synthetic-monitor/synthetic-monitor.yaml | 10 + .../alerting-profile/alerting-profile.yaml | 60 ++++ .../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_Service-Gateway/dashboard/README.md | 4 + .../dashboard/dashboard.yaml | 127 +++++++ .../CD_Service-Gateway/dashboard/default.json | 308 +++++++++++++++++ .../management-zone/README.md | 4 + .../management-zone/default.json | 114 +++++++ .../management-zone/management-zone.yaml | 6 + .../CD_Service-Gateway/notification/README.md | 4 + .../notification/email.json | 13 + .../notification/msTeams.json | 11 + .../notification/notification.yaml | 51 +++ .../synthetic-monitor/README.md | 4 + .../synthetic-monitor/default.json | 82 +++++ .../synthetic-monitor/synthetic-monitor.yaml | 10 + .../alerting-profile/alerting-profile.yaml | 60 ++++ .../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_Voice-Services/dashboard/README.md | 4 + .../dashboard/dashboard.yaml | 127 +++++++ .../CD_Voice-Services/dashboard/default.json | 308 +++++++++++++++++ .../CD_Voice-Services/notification/README.md | 4 + .../CD_Voice-Services/notification/email.json | 13 + .../notification/msTeams.json | 11 + .../notification/notification.yaml | 51 +++ .../synthetic-monitor/README.md | 4 + .../synthetic-monitor/default.json | 82 +++++ .../synthetic-monitor/synthetic-monitor.yaml | 10 + BMW-Dynatrace-config/delete.yaml | 23 +- 230 files changed, 9288 insertions(+), 18 deletions(-) create mode 100644 BMW-Dynatrace-config/CD_GCDM/alerting-profile/CDGCDM.json create mode 100644 BMW-Dynatrace-config/CD_GCDM/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_GCDM/calculated-metrics-service/README.md create mode 100644 BMW-Dynatrace-config/CD_GCDM/conditional-naming-processgroup/README.md create mode 100644 BMW-Dynatrace-config/CD_GCDM/conditional-naming-processgroup/conditional-naming-processgroup.yaml create mode 100644 BMW-Dynatrace-config/CD_GCDM/conditional-naming-processgroup/template.json create mode 100644 BMW-Dynatrace-config/CD_GCDM/conditional-naming-service/README.md create mode 100644 BMW-Dynatrace-config/CD_GCDM/conditional-naming-service/conditional-naming-service.yaml create mode 100644 BMW-Dynatrace-config/CD_GCDM/conditional-naming-service/template.json create mode 100644 BMW-Dynatrace-config/CD_GCDM/custom-service-java/README.md create mode 100644 BMW-Dynatrace-config/CD_GCDM/custom-service-java/custom-service-java.yaml create mode 100644 BMW-Dynatrace-config/CD_GCDM/custom-service-java/template-1-1.json create mode 100644 BMW-Dynatrace-config/CD_GCDM/dashboard/README.md create mode 100644 BMW-Dynatrace-config/CD_GCDM/dashboard/dashboard.yaml create mode 100644 BMW-Dynatrace-config/CD_GCDM/dashboard/default.json rename BMW-Dynatrace-config/{CD_Location-Services/management-zone/CDLocation-Services.json => CD_GCDM/management-zone/CDGCDM.json} (66%) create mode 100644 BMW-Dynatrace-config/CD_GCDM/management-zone/management-zone.yaml create mode 100644 BMW-Dynatrace-config/CD_GCDM/notification/README.md create mode 100644 BMW-Dynatrace-config/CD_GCDM/notification/email.json create mode 100644 BMW-Dynatrace-config/CD_GCDM/notification/msTeams.json create mode 100644 BMW-Dynatrace-config/CD_GCDM/notification/notification.yaml create mode 100644 BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/alerting-profile/CDInfotainment.json create mode 100644 BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/calculated-metrics-service/README.md create mode 100644 BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/conditional-naming-processgroup/README.md create mode 100644 BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/conditional-naming-processgroup/conditional-naming-processgroup.yaml create mode 100644 BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/conditional-naming-processgroup/template.json create mode 100644 BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/conditional-naming-service/README.md create mode 100644 BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/conditional-naming-service/conditional-naming-service.yaml create mode 100644 BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/conditional-naming-service/template.json create mode 100644 BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/custom-service-java/README.md create mode 100644 BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/custom-service-java/custom-service-java.yaml create mode 100644 BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/custom-service-java/template-1-1.json create mode 100644 BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/dashboard/README.md create mode 100644 BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/dashboard/dashboard.yaml create mode 100644 BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/dashboard/default.json create mode 100644 BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment-In-Car-Experience-Services.json create mode 100644 BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/management-zone/management-zone.yaml create mode 100644 BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/notification/CDInfotainment-ITSM-10APP10294512MINOR.json create mode 100644 BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/notification/CDInfotainment-MSTeams.json create mode 100644 BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/notification/notification.yaml create mode 100644 BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/synthetic-monitor/README.md create mode 100644 BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/synthetic-monitor/default.json create mode 100644 BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/synthetic-monitor/synthetic-monitor.yaml create mode 100644 BMW-Dynatrace-config/CD_LSC-FSU/alerting-profile/CDLSC-FSU.json create mode 100644 BMW-Dynatrace-config/CD_LSC-FSU/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_LSC-FSU/calculated-metrics-service/README.md create mode 100644 BMW-Dynatrace-config/CD_LSC-FSU/conditional-naming-processgroup/README.md create mode 100644 BMW-Dynatrace-config/CD_LSC-FSU/conditional-naming-processgroup/conditional-naming-processgroup.yaml create mode 100644 BMW-Dynatrace-config/CD_LSC-FSU/conditional-naming-processgroup/template.json create mode 100644 BMW-Dynatrace-config/CD_LSC-FSU/conditional-naming-service/README.md create mode 100644 BMW-Dynatrace-config/CD_LSC-FSU/conditional-naming-service/conditional-naming-service.yaml create mode 100644 BMW-Dynatrace-config/CD_LSC-FSU/conditional-naming-service/template.json create mode 100644 BMW-Dynatrace-config/CD_LSC-FSU/custom-service-java/README.md create mode 100644 BMW-Dynatrace-config/CD_LSC-FSU/custom-service-java/custom-service-java.yaml create mode 100644 BMW-Dynatrace-config/CD_LSC-FSU/custom-service-java/template-1-1.json create mode 100644 BMW-Dynatrace-config/CD_LSC-FSU/dashboard/README.md create mode 100644 BMW-Dynatrace-config/CD_LSC-FSU/dashboard/dashboard.yaml create mode 100644 BMW-Dynatrace-config/CD_LSC-FSU/dashboard/default.json create mode 100644 BMW-Dynatrace-config/CD_LSC-FSU/management-zone/CDLSC-FSU.json create mode 100644 BMW-Dynatrace-config/CD_LSC-FSU/management-zone/management-zone.yaml create mode 100644 BMW-Dynatrace-config/CD_LSC-FSU/notification/README.md create mode 100644 BMW-Dynatrace-config/CD_LSC-FSU/notification/email.json create mode 100644 BMW-Dynatrace-config/CD_LSC-FSU/notification/msTeams.json create mode 100644 BMW-Dynatrace-config/CD_LSC-FSU/notification/notification.yaml create mode 100644 BMW-Dynatrace-config/CD_LSC-FSU/synthetic-monitor/README.md create mode 100644 BMW-Dynatrace-config/CD_LSC-FSU/synthetic-monitor/default.json create mode 100644 BMW-Dynatrace-config/CD_LSC-FSU/synthetic-monitor/synthetic-monitor.yaml create mode 100644 BMW-Dynatrace-config/CD_Location-Services/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_Location-Services/alerting-profile/default.json create mode 100644 BMW-Dynatrace-config/CD_Location-Services/calculated-metrics-service/README.md create mode 100644 BMW-Dynatrace-config/CD_Location-Services/conditional-naming-processgroup/README.md create mode 100644 BMW-Dynatrace-config/CD_Location-Services/conditional-naming-processgroup/conditional-naming-processgroup.yaml create mode 100644 BMW-Dynatrace-config/CD_Location-Services/conditional-naming-processgroup/template.json create mode 100644 BMW-Dynatrace-config/CD_Location-Services/conditional-naming-service/README.md create mode 100644 BMW-Dynatrace-config/CD_Location-Services/conditional-naming-service/conditional-naming-service.yaml create mode 100644 BMW-Dynatrace-config/CD_Location-Services/conditional-naming-service/template.json create mode 100644 BMW-Dynatrace-config/CD_Location-Services/custom-service-java/README.md create mode 100644 BMW-Dynatrace-config/CD_Location-Services/custom-service-java/custom-service-java.yaml create mode 100644 BMW-Dynatrace-config/CD_Location-Services/custom-service-java/template-1-1.json create mode 100644 BMW-Dynatrace-config/CD_Location-Services/dashboard/README.md create mode 100644 BMW-Dynatrace-config/CD_Location-Services/dashboard/dashboard.yaml create mode 100644 BMW-Dynatrace-config/CD_Location-Services/dashboard/default.json create mode 100644 BMW-Dynatrace-config/CD_Location-Services/management-zone/README.md create mode 100644 BMW-Dynatrace-config/CD_Location-Services/management-zone/default.json create mode 100644 BMW-Dynatrace-config/CD_Location-Services/notification/README.md create mode 100644 BMW-Dynatrace-config/CD_Location-Services/notification/email.json create mode 100644 BMW-Dynatrace-config/CD_Location-Services/notification/msTeams.json create mode 100644 BMW-Dynatrace-config/CD_Location-Services/notification/notification.yaml create mode 100644 BMW-Dynatrace-config/CD_Location-Services/synthetic-monitor/README.md create mode 100644 BMW-Dynatrace-config/CD_Location-Services/synthetic-monitor/default.json create mode 100644 BMW-Dynatrace-config/CD_Location-Services/synthetic-monitor/synthetic-monitor.yaml create mode 100644 BMW-Dynatrace-config/CD_Mobile_2/alerting-profile/Mobile2DarkOpsChannel.json create mode 100644 BMW-Dynatrace-config/CD_Mobile_2/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_Mobile_2/calculated-metrics-service/README.md create mode 100644 BMW-Dynatrace-config/CD_Mobile_2/conditional-naming-processgroup/README.md create mode 100644 BMW-Dynatrace-config/CD_Mobile_2/conditional-naming-processgroup/conditional-naming-processgroup.yaml create mode 100644 BMW-Dynatrace-config/CD_Mobile_2/conditional-naming-processgroup/template.json create mode 100644 BMW-Dynatrace-config/CD_Mobile_2/conditional-naming-service/README.md create mode 100644 BMW-Dynatrace-config/CD_Mobile_2/conditional-naming-service/conditional-naming-service.yaml create mode 100644 BMW-Dynatrace-config/CD_Mobile_2/conditional-naming-service/template.json create mode 100644 BMW-Dynatrace-config/CD_Mobile_2/custom-service-java/README.md create mode 100644 BMW-Dynatrace-config/CD_Mobile_2/custom-service-java/custom-service-java.yaml create mode 100644 BMW-Dynatrace-config/CD_Mobile_2/custom-service-java/template-1-1.json create mode 100644 BMW-Dynatrace-config/CD_Mobile_2/dashboard/README.md create mode 100644 BMW-Dynatrace-config/CD_Mobile_2/dashboard/dashboard.yaml create mode 100644 BMW-Dynatrace-config/CD_Mobile_2/dashboard/default.json create mode 100644 BMW-Dynatrace-config/CD_Mobile_2/management-zone/CDMobile2.json create mode 100644 BMW-Dynatrace-config/CD_Mobile_2/management-zone/management-zone.yaml create mode 100644 BMW-Dynatrace-config/CD_Mobile_2/notification/Mobile2DarkOpsChannel.json create mode 100644 BMW-Dynatrace-config/CD_Mobile_2/notification/Mobile2DarkOpsChannelRuntime.json create mode 100644 BMW-Dynatrace-config/CD_Mobile_2/notification/notification.yaml create mode 100644 BMW-Dynatrace-config/CD_Mobile_2/synthetic-monitor/README.md create mode 100644 BMW-Dynatrace-config/CD_Mobile_2/synthetic-monitor/default.json create mode 100644 BMW-Dynatrace-config/CD_Mobile_2/synthetic-monitor/synthetic-monitor.yaml create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/alerting-profile/default.json create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/calculated-metrics-service/README.md create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/conditional-naming-processgroup/README.md create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/conditional-naming-processgroup/conditional-naming-processgroup.yaml create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/conditional-naming-processgroup/template.json create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/conditional-naming-service/README.md create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/conditional-naming-service/conditional-naming-service.yaml create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/conditional-naming-service/template.json create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/custom-service-java/README.md create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/custom-service-java/custom-service-java.yaml create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/custom-service-java/template-1-1.json create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/dashboard/README.md create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/dashboard/dashboard.yaml create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/dashboard/default.json create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/management-zone/README.md create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/management-zone/default.json create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/management-zone/management-zone.yaml create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/notification/README.md create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/notification/email.json create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/notification/msTeams.json create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/notification/notification.yaml create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/synthetic-monitor/README.md create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/synthetic-monitor/default.json create mode 100644 BMW-Dynatrace-config/CD_Navigation-Information-Services/synthetic-monitor/synthetic-monitor.yaml create mode 100644 BMW-Dynatrace-config/CD_SMACC-BE/alerting-profile/CDSMACC-BE.json create mode 100644 BMW-Dynatrace-config/CD_SMACC-BE/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_SMACC-BE/management-zone/CDSMACC-BE.json create mode 100644 BMW-Dynatrace-config/CD_SMACC-BE/management-zone/management-zone.yaml create mode 100644 BMW-Dynatrace-config/CD_SMACC-BE/notification/CDSMACC-BE-MSTeams.json create mode 100644 BMW-Dynatrace-config/CD_SMACC-BE/notification/notification.yaml create mode 100644 BMW-Dynatrace-config/CD_SMACC-BE/synthetic-monitor/SMACC-BE-Availability.json create mode 100644 BMW-Dynatrace-config/CD_SMACC-BE/synthetic-monitor/SMACC-KTS-Availability.json create mode 100644 BMW-Dynatrace-config/CD_SMACC-BE/synthetic-monitor/synthetic-monitor.yaml create mode 100644 BMW-Dynatrace-config/CD_SMS-Gateway/alerting-profile/CDSMS-Gateway.json create mode 100644 BMW-Dynatrace-config/CD_SMS-Gateway/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_SMS-Gateway/management-zone/CDSMS-Gateway.json create mode 100644 BMW-Dynatrace-config/CD_SMS-Gateway/management-zone/management-zone.yaml create mode 100644 BMW-Dynatrace-config/CD_SMS-Gateway/synthetic-monitor/SMSGWEMEAE2E.json create mode 100644 BMW-Dynatrace-config/CD_SMS-Gateway/synthetic-monitor/SMSGWEMEAPROD.json create mode 100644 BMW-Dynatrace-config/CD_SMS-Gateway/synthetic-monitor/synthetic-monitor.yaml create mode 100644 BMW-Dynatrace-config/CD_Service-Bus/alerting-profile/CDService-BusE2E.json create mode 100644 BMW-Dynatrace-config/CD_Service-Bus/alerting-profile/CDService-BusPROD.json create mode 100644 BMW-Dynatrace-config/CD_Service-Bus/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_Service-Bus/calculated-metrics-service/README.md create mode 100644 BMW-Dynatrace-config/CD_Service-Bus/conditional-naming-processgroup/README.md create mode 100644 BMW-Dynatrace-config/CD_Service-Bus/conditional-naming-processgroup/conditional-naming-processgroup.yaml create mode 100644 BMW-Dynatrace-config/CD_Service-Bus/conditional-naming-processgroup/template.json create mode 100644 BMW-Dynatrace-config/CD_Service-Bus/conditional-naming-service/README.md create mode 100644 BMW-Dynatrace-config/CD_Service-Bus/conditional-naming-service/conditional-naming-service.yaml create mode 100644 BMW-Dynatrace-config/CD_Service-Bus/conditional-naming-service/template.json create mode 100644 BMW-Dynatrace-config/CD_Service-Bus/custom-service-java/README.md create mode 100644 BMW-Dynatrace-config/CD_Service-Bus/custom-service-java/custom-service-java.yaml create mode 100644 BMW-Dynatrace-config/CD_Service-Bus/custom-service-java/template-1-1.json create mode 100644 BMW-Dynatrace-config/CD_Service-Bus/dashboard/README.md create mode 100644 BMW-Dynatrace-config/CD_Service-Bus/dashboard/dashboard.yaml create mode 100644 BMW-Dynatrace-config/CD_Service-Bus/dashboard/default.json create mode 100644 BMW-Dynatrace-config/CD_Service-Bus/management-zone/CDService-Bus.json create mode 100644 BMW-Dynatrace-config/CD_Service-Bus/management-zone/management-zone.yaml create mode 100644 BMW-Dynatrace-config/CD_Service-Bus/notification/CDService-BusE2E.json create mode 100644 BMW-Dynatrace-config/CD_Service-Bus/notification/CDService-BusPROD.json create mode 100644 BMW-Dynatrace-config/CD_Service-Bus/notification/notification.yaml create mode 100644 BMW-Dynatrace-config/CD_Service-Bus/synthetic-monitor/README.md create mode 100644 BMW-Dynatrace-config/CD_Service-Bus/synthetic-monitor/default.json create mode 100644 BMW-Dynatrace-config/CD_Service-Bus/synthetic-monitor/synthetic-monitor.yaml create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/alerting-profile/default.json create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/calculated-metrics-service/README.md create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/conditional-naming-processgroup/README.md create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/conditional-naming-processgroup/conditional-naming-processgroup.yaml create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/conditional-naming-processgroup/template.json create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/conditional-naming-service/README.md create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/conditional-naming-service/conditional-naming-service.yaml create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/conditional-naming-service/template.json create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/custom-service-java/README.md create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/custom-service-java/custom-service-java.yaml create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/custom-service-java/template-1-1.json create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/dashboard/README.md create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/dashboard/dashboard.yaml create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/dashboard/default.json create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/management-zone/README.md create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/management-zone/default.json create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/management-zone/management-zone.yaml create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/notification/README.md create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/notification/email.json create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/notification/msTeams.json create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/notification/notification.yaml create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/synthetic-monitor/README.md create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/synthetic-monitor/default.json create mode 100644 BMW-Dynatrace-config/CD_Service-Gateway/synthetic-monitor/synthetic-monitor.yaml create mode 100644 BMW-Dynatrace-config/CD_Voice-Services/alerting-profile/alerting-profile.yaml create mode 100644 BMW-Dynatrace-config/CD_Voice-Services/alerting-profile/default.json create mode 100644 BMW-Dynatrace-config/CD_Voice-Services/calculated-metrics-service/README.md create mode 100644 BMW-Dynatrace-config/CD_Voice-Services/conditional-naming-processgroup/README.md create mode 100644 BMW-Dynatrace-config/CD_Voice-Services/conditional-naming-processgroup/conditional-naming-processgroup.yaml create mode 100644 BMW-Dynatrace-config/CD_Voice-Services/conditional-naming-processgroup/template.json create mode 100644 BMW-Dynatrace-config/CD_Voice-Services/conditional-naming-service/README.md create mode 100644 BMW-Dynatrace-config/CD_Voice-Services/conditional-naming-service/conditional-naming-service.yaml create mode 100644 BMW-Dynatrace-config/CD_Voice-Services/conditional-naming-service/template.json create mode 100644 BMW-Dynatrace-config/CD_Voice-Services/custom-service-java/README.md create mode 100644 BMW-Dynatrace-config/CD_Voice-Services/custom-service-java/custom-service-java.yaml create mode 100644 BMW-Dynatrace-config/CD_Voice-Services/custom-service-java/template-1-1.json create mode 100644 BMW-Dynatrace-config/CD_Voice-Services/dashboard/README.md create mode 100644 BMW-Dynatrace-config/CD_Voice-Services/dashboard/dashboard.yaml create mode 100644 BMW-Dynatrace-config/CD_Voice-Services/dashboard/default.json create mode 100644 BMW-Dynatrace-config/CD_Voice-Services/notification/README.md create mode 100644 BMW-Dynatrace-config/CD_Voice-Services/notification/email.json create mode 100644 BMW-Dynatrace-config/CD_Voice-Services/notification/msTeams.json create mode 100644 BMW-Dynatrace-config/CD_Voice-Services/notification/notification.yaml create mode 100644 BMW-Dynatrace-config/CD_Voice-Services/synthetic-monitor/README.md create mode 100644 BMW-Dynatrace-config/CD_Voice-Services/synthetic-monitor/default.json create mode 100644 BMW-Dynatrace-config/CD_Voice-Services/synthetic-monitor/synthetic-monitor.yaml diff --git a/BMW-Dynatrace-config/CD_Billing_Buffet/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_Billing_Buffet/management-zone/management-zone.yaml index 4fbbdf95..885c9aa7 100644 --- a/BMW-Dynatrace-config/CD_Billing_Buffet/management-zone/management-zone.yaml +++ b/BMW-Dynatrace-config/CD_Billing_Buffet/management-zone/management-zone.yaml @@ -3,4 +3,4 @@ config: CDBilling_Buffet: - name: CD_Billing_Buffet -- tag: Billing_Buffet +- tag: Buffet diff --git a/BMW-Dynatrace-config/CD_GCDM/alerting-profile/CDGCDM.json b/BMW-Dynatrace-config/CD_GCDM/alerting-profile/CDGCDM.json new file mode 100644 index 00000000..c116148b --- /dev/null +++ b/BMW-Dynatrace-config/CD_GCDM/alerting-profile/CDGCDM.json @@ -0,0 +1,63 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": 5530586743181604000, + "metadata": { + "clusterVersion": "1.215.107.20210414-181420", + "configurationVersions": [], + "currentConfigurationVersions": [ + "0" + ] + }, + "mzId": "5530586743181603811", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "NONE", + "tagFilters": [] + } + }, + { + "delayInMinutes": 0, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "NONE", + "tagFilters": [] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "NONE", + "tagFilters": [] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "NONE", + "tagFilters": [] + } + }, + { + "delayInMinutes": 0, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "NONE", + "tagFilters": [] + } + }, + { + "delayInMinutes": 0, + "severityLevel": "MONITORING_UNAVAILABLE", + "tagFilter": { + "includeMode": "NONE", + "tagFilters": [] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_GCDM/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_GCDM/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..199ed0b9 --- /dev/null +++ b/BMW-Dynatrace-config/CD_GCDM/alerting-profile/alerting-profile.yaml @@ -0,0 +1,5 @@ +config: +- CDGCDM: CDGCDM.json + +CDGCDM: +- name: CD_GCDM diff --git a/BMW-Dynatrace-config/CD_GCDM/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_GCDM/calculated-metrics-service/README.md new file mode 100644 index 00000000..9c2a1f2e --- /dev/null +++ b/BMW-Dynatrace-config/CD_GCDM/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_GCDM/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_GCDM/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..519727bf --- /dev/null +++ b/BMW-Dynatrace-config/CD_GCDM/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_GCDM/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_GCDM/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..8b67f094 --- /dev/null +++ b/BMW-Dynatrace-config/CD_GCDM/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDGCDM: template.json + +CDGCDM: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: GCDM +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_GCDM/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_GCDM/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_GCDM/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_GCDM/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_GCDM/conditional-naming-service/README.md new file mode 100644 index 00000000..b6f10ae1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_GCDM/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_GCDM/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_GCDM/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..8b67f094 --- /dev/null +++ b/BMW-Dynatrace-config/CD_GCDM/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDGCDM: template.json + +CDGCDM: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: GCDM +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_GCDM/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_GCDM/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_GCDM/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_GCDM/custom-service-java/README.md b/BMW-Dynatrace-config/CD_GCDM/custom-service-java/README.md new file mode 100644 index 00000000..5f35e5c1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_GCDM/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_GCDM/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_GCDM/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_GCDM/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_GCDM/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_GCDM/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_GCDM/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_GCDM/dashboard/README.md b/BMW-Dynatrace-config/CD_GCDM/dashboard/README.md new file mode 100644 index 00000000..f2f821ec --- /dev/null +++ b/BMW-Dynatrace-config/CD_GCDM/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_GCDM/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_GCDM/dashboard/dashboard.yaml new file mode 100644 index 00000000..ab19da67 --- /dev/null +++ b/BMW-Dynatrace-config/CD_GCDM/dashboard/dashboard.yaml @@ -0,0 +1,127 @@ +config: +- CDGCDM-PROD: default.json +- CDGCDM-E2E: default.json +- CDGCDM-INT: default.json +- CDGCDM-TEST: default.json + +#PROD dashboards for EMEA/NA/CN Prod +#Dry-run needed for all hubs +CDGCDM-PROD: +- name: CD_GCDM PROD +- mzName: CD_GCDM/management-zone/CDGCDM.name +- mzId: CD_GCDM/management-zone/CDGCDM.id +- env: PROD +- skipDeployment: "true" +#Configuration +CDGCDM-PROD.EMEA-Prod: +- name: CD_GCDM PROD +- mzName: CD_GCDM/management-zone/CDGCDM.name +- mzId: CD_GCDM/management-zone/CDGCDM.id +- tag: GCDM +- env: PROD +- skipDeployment: "false" +CDGCDM-PROD.NA-Prod: +- name: CD_GCDM PROD +- mzName: CD_GCDM/management-zone/CDGCDM.name +- mzId: CD_GCDM/management-zone/CDGCDM.id +- tag: GCDM +- env: PROD +- skipDeployment: "false" +CDGCDM-PROD.CN-Prod: +- name: CD_GCDM PROD +- mzName: CD_GCDM/management-zone/CDGCDM.name +- mzId: CD_GCDM/management-zone/CDGCDM.id +- tag: GCDM +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN E2E +#Dry-run needed for all hubs +CDGCDM-E2E: +- name: CD_GCDM E2E +- mzName: CD_GCDM/management-zone/CDGCDM.name +- mzId: CD_GCDM/management-zone/CDGCDM.id +- env: E2E +- skipDeployment: "true" +#Configuration +CDGCDM-E2E.EMEA-Prod: +- name: CD_GCDM E2E +- mzName: CD_GCDM/management-zone/CDGCDM.name +- mzId: CD_GCDM/management-zone/CDGCDM.id +- env: E2E +- tag: GCDM +- skipDeployment: "true" +CDGCDM-E2E.NA-Prod: +- name: CD_GCDM E2E +- mzName: CD_GCDM/management-zone/CDGCDM.name +- mzId: CD_GCDM/management-zone/CDGCDM.id +- env: E2E +- tag: GCDM +- skipDeployment: "true" +CDGCDM-E2E.CN-Prod: +- name: CD_GCDM E2E +- mzName: CD_GCDM/management-zone/CDGCDM.name +- mzId: CD_GCDM/management-zone/CDGCDM.id +- env: E2E +- tag: GCDM +- skipDeployment: "true" + +#INT dashboards for EMEA/NA/CN +#Dry-run needed for all hubs +CDGCDM-INT: +- name: CD_GCDM INT +- mzName: CD_GCDM/management-zone/CDGCDM.name +- mzId: CD_GCDM/management-zone/CDGCDM.id +- env: INT +- tag: GCDM +- skipDeployment: "true" +#Configuration +CDGCDM-INT.EMEA-PreProd: +- name: CD_GCDM INT +- mzName: CD_GCDM/management-zone/CDGCDM.name +- mzId: CD_GCDM/management-zone/CDGCDM.id +- env: INT +- tag: GCDM +- skipDeployment: "false" +CDGCDM-INT.NA-PreProd: +- name: CD_GCDM INT +- mzName: CD_GCDM/management-zone/CDGCDM.name +- mzId: CD_GCDM/management-zone/CDGCDM.id +- env: INT +- skipDeployment: "false" +CDGCDM-INT.CN-PreProd: +- name: CD_GCDM INT +- mzName: CD_GCDM/management-zone/CDGCDM.name +- mzId: CD_GCDM/management-zone/CDGCDM.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN +#Dry-run needed for all hubs +CDGCDM-TEST: +- name: CD_GCDM TEST +- mzName: CD_GCDM/management-zone/CDGCDM.name +- mzId: CD_GCDM/management-zone/CDGCDM.id +- tag: GCDM +- env: TEST +- skipDeployment: "true" +#Configuration +CDGCDM-TEST.EMEA-PreProd: +- name: CD_GCDM TEST +- mzName: CD_GCDM/management-zone/CDGCDM.name +- mzId: CD_GCDM/management-zone/CDGCDM.id +- tag: GCDM +- env: TEST +- skipDeployment: "false" +CDGCDM-TEST.NA-PreProd: +- name: CD_GCDM TEST +- mzName: CD_GCDM/management-zone/CDGCDM.name +- mzId: CD_GCDM/management-zone/CDGCDM.id +- env: TEST +- skipDeployment: "false" +CDGCDM-TEST.CN-PreProd: +- name: CD_GCDM TEST +- mzName: CD_GCDM/management-zone/CDGCDM.name +- mzId: CD_GCDM/management-zone/CDGCDM.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_GCDM/dashboard/default.json b/BMW-Dynatrace-config/CD_GCDM/dashboard/default.json new file mode 100644 index 00000000..6c685810 --- /dev/null +++ b/BMW-Dynatrace-config/CD_GCDM/dashboard/default.json @@ -0,0 +1,308 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.tag}}" + ] + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {} + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Location-Services/management-zone/CDLocation-Services.json b/BMW-Dynatrace-config/CD_GCDM/management-zone/CDGCDM.json similarity index 66% rename from BMW-Dynatrace-config/CD_Location-Services/management-zone/CDLocation-Services.json rename to BMW-Dynatrace-config/CD_GCDM/management-zone/CDGCDM.json index 8c0ffb4c..38310778 100644 --- a/BMW-Dynatrace-config/CD_Location-Services/management-zone/CDLocation-Services.json +++ b/BMW-Dynatrace-config/CD_GCDM/management-zone/CDGCDM.json @@ -1,7 +1,9 @@ { + "description": null, "dimensionalRules": [], + "entitySelectorBasedRules": [], "metadata": { - "clusterVersion": "1.209.98.20210122-102634", + "clusterVersion": "1.215.107.20210414-181420", "configurationVersions": [ 0 ] @@ -16,16 +18,16 @@ "negate": false, "operator": "BEGINS_WITH", "type": "STRING", - "value": "empty" + "value": "GCDM" }, "key": { - "attribute": "SERVICE_AKKA_ACTOR_SYSTEM" + "attribute": "HTTP_MONITOR_NAME" } } ], "enabled": true, "propagationTypes": [], - "type": "SERVICE" + "type": "HTTP_MONITOR" } ] } \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_GCDM/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_GCDM/management-zone/management-zone.yaml new file mode 100644 index 00000000..199ed0b9 --- /dev/null +++ b/BMW-Dynatrace-config/CD_GCDM/management-zone/management-zone.yaml @@ -0,0 +1,5 @@ +config: +- CDGCDM: CDGCDM.json + +CDGCDM: +- name: CD_GCDM diff --git a/BMW-Dynatrace-config/CD_GCDM/notification/README.md b/BMW-Dynatrace-config/CD_GCDM/notification/README.md new file mode 100644 index 00000000..37cb85bc --- /dev/null +++ b/BMW-Dynatrace-config/CD_GCDM/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_GCDM/notification/email.json b/BMW-Dynatrace-config/CD_GCDM/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_GCDM/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_GCDM/notification/msTeams.json b/BMW-Dynatrace-config/CD_GCDM/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_GCDM/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_GCDM/notification/notification.yaml b/BMW-Dynatrace-config/CD_GCDM/notification/notification.yaml new file mode 100644 index 00000000..05b7f7b0 --- /dev/null +++ b/BMW-Dynatrace-config/CD_GCDM/notification/notification.yaml @@ -0,0 +1,11 @@ +config: +- CDGCDM: msTeams.json + + +#Prod notification system for EMEA/NA/CN +#Dry-run needed for all hubs +CDGCDM: +- name: CD_GCDM PROD +- alertingProfile: CD_GCDM/alerting-profile/CDGCDM-PROD.id +- webhook: https://empty +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/alerting-profile/CDInfotainment.json b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/alerting-profile/CDInfotainment.json new file mode 100644 index 00000000..9da72427 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/alerting-profile/CDInfotainment.json @@ -0,0 +1,99 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": -2636562501139802600, + "metadata": { + "clusterVersion": "1.215.107.20210414-181420", + "configurationVersions": [], + "currentConfigurationVersions": [ + "0" + ] + }, + "mzId": "-2636562501139802422", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ANY", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "Infotainment" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ANY", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "Infotainment" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ANY", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "Infotainment" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ANY", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "Infotainment" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ANY", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "Infotainment" + } + ] + } + }, + { + "delayInMinutes": 0, + "severityLevel": "MONITORING_UNAVAILABLE", + "tagFilter": { + "includeMode": "INCLUDE_ANY", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "Infotainment" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..1b061b1f --- /dev/null +++ b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/alerting-profile/alerting-profile.yaml @@ -0,0 +1,5 @@ +config: +- CDInfotainment: CDInfotainment.json + +CDInfotainment: +- name: CD_Infotainment diff --git a/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/calculated-metrics-service/README.md new file mode 100644 index 00000000..9c2a1f2e --- /dev/null +++ b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/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_Infotainment-In-Car-Experience-Services/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..519727bf --- /dev/null +++ b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/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_Infotainment-In-Car-Experience-Services/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..27c8a57b --- /dev/null +++ b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDInfotainment: template.json + +CDInfotainment: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: Infotainment +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/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_Infotainment-In-Car-Experience-Services/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/conditional-naming-service/README.md new file mode 100644 index 00000000..b6f10ae1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/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_Infotainment-In-Car-Experience-Services/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..27c8a57b --- /dev/null +++ b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDInfotainment: template.json + +CDInfotainment: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: Infotainment +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/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_Infotainment-In-Car-Experience-Services/custom-service-java/README.md b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/custom-service-java/README.md new file mode 100644 index 00000000..5f35e5c1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/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_Infotainment-In-Car-Experience-Services/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/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_Infotainment-In-Car-Experience-Services/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/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_Infotainment-In-Car-Experience-Services/dashboard/README.md b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/dashboard/README.md new file mode 100644 index 00000000..f2f821ec --- /dev/null +++ b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/dashboard/dashboard.yaml new file mode 100644 index 00000000..aad74dad --- /dev/null +++ b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/dashboard/dashboard.yaml @@ -0,0 +1,127 @@ +config: +- CDInfotainment-PROD: default.json +- CDInfotainment-E2E: default.json +- CDInfotainment-INT: default.json +- CDInfotainment-TEST: default.json + +#PROD dashboards for EMEA/NA/CN Prod +#Dry-run needed for all hubs +CDInfotainment-PROD: +- name: CD_Infotainment-In-Car-Experience-Services PROD +- mzName: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.name +- mzId: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.id +- env: PROD +- skipDeployment: "true" +#Configuration +CDInfotainment-PROD.EMEA-Prod: +- name: CD_Infotainment-In-Car-Experience-Services PROD +- mzName: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.name +- mzId: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.id +- tag: Infotainment +- env: PROD +- skipDeployment: "false" +CDInfotainment-PROD.NA-Prod: +- name: CD_Infotainment-In-Car-Experience-Services PROD +- mzName: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.name +- mzId: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.id +- tag: Infotainment +- env: PROD +- skipDeployment: "false" +CDInfotainment-PROD.CN-Prod: +- name: CD_Infotainment-In-Car-Experience-Services PROD +- mzName: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.name +- mzId: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.id +- tag: Infotainment +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN E2E +#Dry-run needed for all hubs +CDInfotainment-E2E: +- name: CD_Infotainment-In-Car-Experience-Services E2E +- mzName: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.name +- mzId: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.id +- env: E2E +- skipDeployment: "true" +#Configuration +CDInfotainment-E2E.EMEA-Prod: +- name: CD_Infotainment-In-Car-Experience-Services E2E +- mzName: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.name +- mzId: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.id +- env: E2E +- tag: Infotainment +- skipDeployment: "true" +CDInfotainment-E2E.NA-Prod: +- name: CD_Infotainment-In-Car-Experience-Services E2E +- mzName: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.name +- mzId: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.id +- env: E2E +- tag: Infotainment +- skipDeployment: "true" +CDInfotainment-E2E.CN-Prod: +- name: CD_Infotainment-In-Car-Experience-Services E2E +- mzName: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.name +- mzId: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.id +- env: E2E +- tag: Infotainment +- skipDeployment: "true" + +#INT dashboards for EMEA/NA/CN +#Dry-run needed for all hubs +CDInfotainment-INT: +- name: CD_Infotainment-In-Car-Experience-Services INT +- mzName: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.name +- mzId: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.id +- env: INT +- tag: Infotainment +- skipDeployment: "true" +#Configuration +CDInfotainment-INT.EMEA-PreProd: +- name: CD_Infotainment-In-Car-Experience-Services INT +- mzName: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.name +- mzId: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.id +- env: INT +- tag: Infotainment +- skipDeployment: "false" +CDInfotainment-INT.NA-PreProd: +- name: CD_Infotainment-In-Car-Experience-Services INT +- mzName: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.name +- mzId: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.id +- env: INT +- skipDeployment: "false" +CDInfotainment-INT.CN-PreProd: +- name: CD_Infotainment-In-Car-Experience-Services INT +- mzName: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.name +- mzId: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN +#Dry-run needed for all hubs +CDInfotainment-TEST: +- name: CD_Infotainment-In-Car-Experience-Services TEST +- mzName: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.name +- mzId: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.id +- tag: Infotainment +- env: TEST +- skipDeployment: "true" +#Configuration +CDInfotainment-TEST.EMEA-PreProd: +- name: CD_Infotainment-In-Car-Experience-Services TEST +- mzName: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.name +- mzId: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.id +- tag: Infotainment +- env: TEST +- skipDeployment: "false" +CDInfotainment-TEST.NA-PreProd: +- name: CD_Infotainment-In-Car-Experience-Services TEST +- mzName: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.name +- mzId: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.id +- env: TEST +- skipDeployment: "false" +CDInfotainment-TEST.CN-PreProd: +- name: CD_Infotainment-In-Car-Experience-Services TEST +- mzName: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.name +- mzId: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/dashboard/default.json b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/dashboard/default.json new file mode 100644 index 00000000..6c685810 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/dashboard/default.json @@ -0,0 +1,308 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.tag}}" + ] + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {} + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment-In-Car-Experience-Services.json b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment-In-Car-Experience-Services.json new file mode 100644 index 00000000..ebfbe3dd --- /dev/null +++ b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment-In-Car-Experience-Services.json @@ -0,0 +1,144 @@ +{ + "description": null, + "dimensionalRules": [], + "entitySelectorBasedRules": [], + "metadata": { + "clusterVersion": "1.215.107.20210414-181420", + "configurationVersions": [ + 0 + ] + }, + "name": "{{.name}}", + "rules": [ + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "Infotainment" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": true, + "operator": "CONTAINS", + "type": "STRING", + "value": "HealthResource" + }, + "key": { + "attribute": "SERVICE_NAME" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": true, + "operator": "CONTAINS", + "type": "STRING", + "value": "PingResource" + }, + "key": { + "attribute": "SERVICE_NAME" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": true, + "operator": "CONTAINS", + "type": "STRING", + "value": "PrometheusResource" + }, + "key": { + "attribute": "SERVICE_NAME" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": true, + "operator": "CONTAINS", + "type": "STRING", + "value": "background" + }, + "key": { + "attribute": "SERVICE_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "Infotainment" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "TAG_KEY_EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "External" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + }, + { + "comparisonInfo": { + "caseSensitive": false, + "negate": true, + "operator": "CONTAINS", + "type": "STRING", + "value": "asbc" + }, + "key": { + "attribute": "SERVICE_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "SERVICE" + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/management-zone/management-zone.yaml new file mode 100644 index 00000000..fabc59fb --- /dev/null +++ b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/management-zone/management-zone.yaml @@ -0,0 +1,5 @@ +config: +- CDInfotainment: CDInfotainment-In-Car-Experience-Services.json + +CDInfotainment: +- name: CD_Infotainment-In-Car-Experience-Services diff --git a/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/notification/CDInfotainment-ITSM-10APP10294512MINOR.json b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/notification/CDInfotainment-ITSM-10APP10294512MINOR.json new file mode 100644 index 00000000..f01a1cb0 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/notification/CDInfotainment-ITSM-10APP10294512MINOR.json @@ -0,0 +1,20 @@ +{ + "acceptAnyCertificate": true, + "active": false, + "alertingProfile": "6158fb78-f0a6-4d87-b39a-5889f9d0b36e", + "headers": [ + { + "name": "x-apikey", + "value": "QkdrmGSgDAwU9iVF6cYEtVXPvUqciNai" + }, + { + "name": "Authorization", + "value": null + } + ], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "[\n{\n \"attributes\": {\n \"CLASS\": \"BusinessTransaction\",\n \"source\": \"MgmtZone: Name\",\n \"severity\": \"MINOR\", \n \"origin\": \"APPD-134221\",\n \"sub_origin\": \"Dynatrace SaaS – {ImpactedEntity}\",\n \"adapter_host\": \"xxu26128.live.dynatrace.com\",\n \"msg\": \"{ProblemDetailsText}\",\n \"contract_id\": \"10APP10294512\",\n \"ars_esc\": \"Yes\",\n \"ars_delay_time\": \"0\",\n \"hostname\": \"Dynatrace\",\n \"sub_source\": \"Dynatrace\", \n \"server_loc\": \"Munich\",\n \"event_id\": \"AI001\", \n \"dd_plus\": \"{ProblemSeverity}\",\n \"dd1\": \"{ProblemURL}\",\n \"dd2\": \"{PID}\",\n \"dd3\": \"{Tags}\"\n }\n}\n]", + "type": "WEBHOOK", + "url": "https://apim-beta-prod.bmwgroup.com/evtmgmt/eventproxy/v1" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/notification/CDInfotainment-MSTeams.json b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/notification/CDInfotainment-MSTeams.json new file mode 100644 index 00000000..1ad6a248 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/notification/CDInfotainment-MSTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "6158fb78-f0a6-4d87-b39a-5889f9d0b36e", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "https://outlook.office.com/webhook/effa4886-dfc0-4e3e-906b-5d0e740376e8@ce849bab-cc1c-465b-b62e-18f07c9ac198/IncomingWebhook/5bbe9d268d8a48a294d265e05ecfd572/38544660-a8c9-4550-a68e-70d455f650a9" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/notification/notification.yaml b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/notification/notification.yaml new file mode 100644 index 00000000..490f22fa --- /dev/null +++ b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/notification/notification.yaml @@ -0,0 +1,17 @@ +config: +- CDInfotainment-MSTeams: CDInfotainment-MSTeams.json +- CDInfotainment-ITSM-10APP10294512MINOR: CDInfotainment-ITSM-10APP10294512MINOR.json + +CDInfotainment-ITSM-10APP10294512MINOR: +- name: CD_Infotainment - ITSM - 10APP10294512_MINOR +- skipDeployment: "true" +CDInfotainment-ITSM-10APP10294512MINOR.EMEA-Prod: +- name: CD_Infotainment - ITSM - 10APP10294512_MINOR +- skipDeployment: "false" + +CDInfotainment-MSTeams: +- name: CD_Infotainment - MS Teams +- skipDeployment: "true" +CDInfotainment-MSTeams.EMEA-Prod: +- name: CD_Infotainment - MS Teams +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/synthetic-monitor/README.md new file mode 100644 index 00000000..1695924c --- /dev/null +++ b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/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_Infotainment-In-Car-Experience-Services/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/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_Infotainment-In-Car-Experience-Services/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..9a9a459d --- /dev/null +++ b/BMW-Dynatrace-config/CD_Infotainment-In-Car-Experience-Services/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- Infotainment: default.json + +Infotainment: +- name: CD_Infotainment-In-Car-Experience-Services - +- mzName: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.name +- mzId: CD_Infotainment-In-Car-Experience-Services/management-zone/CDInfotainment.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_LSC-FSU/alerting-profile/CDLSC-FSU.json b/BMW-Dynatrace-config/CD_LSC-FSU/alerting-profile/CDLSC-FSU.json new file mode 100644 index 00000000..8b1bfa22 --- /dev/null +++ b/BMW-Dynatrace-config/CD_LSC-FSU/alerting-profile/CDLSC-FSU.json @@ -0,0 +1,99 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": -9051200530083094000, + "metadata": { + "clusterVersion": "1.215.107.20210414-181420", + "configurationVersions": [], + "currentConfigurationVersions": [ + "0" + ] + }, + "mzId": "-9051200530083093822", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ANY", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "LSC-FSU" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ANY", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "LSC-FSU" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ANY", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "LSC-FSU" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ANY", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "LSC-FSU" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ANY", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "LSC-FSU" + } + ] + } + }, + { + "delayInMinutes": 0, + "severityLevel": "MONITORING_UNAVAILABLE", + "tagFilter": { + "includeMode": "INCLUDE_ANY", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "LSC-FSU" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_LSC-FSU/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_LSC-FSU/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..69190758 --- /dev/null +++ b/BMW-Dynatrace-config/CD_LSC-FSU/alerting-profile/alerting-profile.yaml @@ -0,0 +1,5 @@ +config: +- CDLSC-FSU: CDLSC-FSU.json + +CDLSC-FSU: +- name: CD_LSC-FSU diff --git a/BMW-Dynatrace-config/CD_LSC-FSU/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_LSC-FSU/calculated-metrics-service/README.md new file mode 100644 index 00000000..9c2a1f2e --- /dev/null +++ b/BMW-Dynatrace-config/CD_LSC-FSU/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_LSC-FSU/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_LSC-FSU/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..519727bf --- /dev/null +++ b/BMW-Dynatrace-config/CD_LSC-FSU/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_LSC-FSU/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_LSC-FSU/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..7a407872 --- /dev/null +++ b/BMW-Dynatrace-config/CD_LSC-FSU/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDLSC-FSU: template.json + +CDLSC-FSU: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: LSC-FSU +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_LSC-FSU/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_LSC-FSU/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_LSC-FSU/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_LSC-FSU/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_LSC-FSU/conditional-naming-service/README.md new file mode 100644 index 00000000..b6f10ae1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_LSC-FSU/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_LSC-FSU/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_LSC-FSU/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..7a407872 --- /dev/null +++ b/BMW-Dynatrace-config/CD_LSC-FSU/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDLSC-FSU: template.json + +CDLSC-FSU: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: LSC-FSU +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_LSC-FSU/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_LSC-FSU/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_LSC-FSU/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_LSC-FSU/custom-service-java/README.md b/BMW-Dynatrace-config/CD_LSC-FSU/custom-service-java/README.md new file mode 100644 index 00000000..5f35e5c1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_LSC-FSU/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_LSC-FSU/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_LSC-FSU/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_LSC-FSU/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_LSC-FSU/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_LSC-FSU/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_LSC-FSU/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_LSC-FSU/dashboard/README.md b/BMW-Dynatrace-config/CD_LSC-FSU/dashboard/README.md new file mode 100644 index 00000000..f2f821ec --- /dev/null +++ b/BMW-Dynatrace-config/CD_LSC-FSU/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_LSC-FSU/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_LSC-FSU/dashboard/dashboard.yaml new file mode 100644 index 00000000..e4a40a10 --- /dev/null +++ b/BMW-Dynatrace-config/CD_LSC-FSU/dashboard/dashboard.yaml @@ -0,0 +1,127 @@ +config: +- CDLSC-FSU-PROD: default.json +- CDLSC-FSU-E2E: default.json +- CDLSC-FSU-INT: default.json +- CDLSC-FSU-TEST: default.json + +#PROD dashboards for EMEA/NA/CN Prod +#Dry-run needed for all hubs +CDLSC-FSU-PROD: +- name: CD_LSC-FSU PROD +- mzName: CD_LSC-FSU/management-zone/CDLSC-FSU.name +- mzId: CD_LSC-FSU/management-zone/CDLSC-FSU.id +- env: PROD +- skipDeployment: "true" +#Configuration +CDLSC-FSU-PROD.EMEA-Prod: +- name: CD_LSC-FSU PROD +- mzName: CD_LSC-FSU/management-zone/CDLSC-FSU.name +- mzId: CD_LSC-FSU/management-zone/CDLSC-FSU.id +- tag: LSC-FSU +- env: PROD +- skipDeployment: "false" +CDLSC-FSU-PROD.NA-Prod: +- name: CD_LSC-FSU PROD +- mzName: CD_LSC-FSU/management-zone/CDLSC-FSU.name +- mzId: CD_LSC-FSU/management-zone/CDLSC-FSU.id +- tag: LSC-FSU +- env: PROD +- skipDeployment: "false" +CDLSC-FSU-PROD.CN-Prod: +- name: CD_LSC-FSU PROD +- mzName: CD_LSC-FSU/management-zone/CDLSC-FSU.name +- mzId: CD_LSC-FSU/management-zone/CDLSC-FSU.id +- tag: LSC-FSU +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN E2E +#Dry-run needed for all hubs +CDLSC-FSU-E2E: +- name: CD_LSC-FSU E2E +- mzName: CD_LSC-FSU/management-zone/CDLSC-FSU.name +- mzId: CD_LSC-FSU/management-zone/CDLSC-FSU.id +- env: E2E +- skipDeployment: "true" +#Configuration +CDLSC-FSU-E2E.EMEA-Prod: +- name: CD_LSC-FSU E2E +- mzName: CD_LSC-FSU/management-zone/CDLSC-FSU.name +- mzId: CD_LSC-FSU/management-zone/CDLSC-FSU.id +- env: E2E +- tag: LSC-FSU +- skipDeployment: "true" +CDLSC-FSU-E2E.NA-Prod: +- name: CD_LSC-FSU E2E +- mzName: CD_LSC-FSU/management-zone/CDLSC-FSU.name +- mzId: CD_LSC-FSU/management-zone/CDLSC-FSU.id +- env: E2E +- tag: LSC-FSU +- skipDeployment: "true" +CDLSC-FSU-E2E.CN-Prod: +- name: CD_LSC-FSU E2E +- mzName: CD_LSC-FSU/management-zone/CDLSC-FSU.name +- mzId: CD_LSC-FSU/management-zone/CDLSC-FSU.id +- env: E2E +- tag: LSC-FSU +- skipDeployment: "true" + +#INT dashboards for EMEA/NA/CN +#Dry-run needed for all hubs +CDLSC-FSU-INT: +- name: CD_LSC-FSU INT +- mzName: CD_LSC-FSU/management-zone/CDLSC-FSU.name +- mzId: CD_LSC-FSU/management-zone/CDLSC-FSU.id +- env: INT +- tag: LSC-FSU +- skipDeployment: "true" +#Configuration +CDLSC-FSU-INT.EMEA-PreProd: +- name: CD_LSC-FSU INT +- mzName: CD_LSC-FSU/management-zone/CDLSC-FSU.name +- mzId: CD_LSC-FSU/management-zone/CDLSC-FSU.id +- env: INT +- tag: LSC-FSU +- skipDeployment: "false" +CDLSC-FSU-INT.NA-PreProd: +- name: CD_LSC-FSU INT +- mzName: CD_LSC-FSU/management-zone/CDLSC-FSU.name +- mzId: CD_LSC-FSU/management-zone/CDLSC-FSU.id +- env: INT +- skipDeployment: "false" +CDLSC-FSU-INT.CN-PreProd: +- name: CD_LSC-FSU INT +- mzName: CD_LSC-FSU/management-zone/CDLSC-FSU.name +- mzId: CD_LSC-FSU/management-zone/CDLSC-FSU.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN +#Dry-run needed for all hubs +CDLSC-FSU-TEST: +- name: CD_LSC-FSU TEST +- mzName: CD_LSC-FSU/management-zone/CDLSC-FSU.name +- mzId: CD_LSC-FSU/management-zone/CDLSC-FSU.id +- tag: LSC-FSU +- env: TEST +- skipDeployment: "true" +#Configuration +CDLSC-FSU-TEST.EMEA-PreProd: +- name: CD_LSC-FSU TEST +- mzName: CD_LSC-FSU/management-zone/CDLSC-FSU.name +- mzId: CD_LSC-FSU/management-zone/CDLSC-FSU.id +- tag: LSC-FSU +- env: TEST +- skipDeployment: "false" +CDLSC-FSU-TEST.NA-PreProd: +- name: CD_LSC-FSU TEST +- mzName: CD_LSC-FSU/management-zone/CDLSC-FSU.name +- mzId: CD_LSC-FSU/management-zone/CDLSC-FSU.id +- env: TEST +- skipDeployment: "false" +CDLSC-FSU-TEST.CN-PreProd: +- name: CD_LSC-FSU TEST +- mzName: CD_LSC-FSU/management-zone/CDLSC-FSU.name +- mzId: CD_LSC-FSU/management-zone/CDLSC-FSU.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_LSC-FSU/dashboard/default.json b/BMW-Dynatrace-config/CD_LSC-FSU/dashboard/default.json new file mode 100644 index 00000000..6c685810 --- /dev/null +++ b/BMW-Dynatrace-config/CD_LSC-FSU/dashboard/default.json @@ -0,0 +1,308 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.tag}}" + ] + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {} + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_LSC-FSU/management-zone/CDLSC-FSU.json b/BMW-Dynatrace-config/CD_LSC-FSU/management-zone/CDLSC-FSU.json new file mode 100644 index 00000000..f70e6586 --- /dev/null +++ b/BMW-Dynatrace-config/CD_LSC-FSU/management-zone/CDLSC-FSU.json @@ -0,0 +1,99 @@ +{ + "description": null, + "dimensionalRules": [], + "entitySelectorBasedRules": [], + "metadata": { + "clusterVersion": "1.215.107.20210414-181420", + "configurationVersions": [ + 0 + ] + }, + "name": "{{.name}}", + "rules": [ + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "LSC-FSU" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": true, + "operator": "CONTAINS", + "type": "STRING", + "value": "HealthResource" + }, + "key": { + "attribute": "SERVICE_NAME" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": true, + "operator": "CONTAINS", + "type": "STRING", + "value": "PingResource" + }, + "key": { + "attribute": "SERVICE_NAME" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": true, + "operator": "CONTAINS", + "type": "STRING", + "value": "PrometheusResource" + }, + "key": { + "attribute": "SERVICE_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_HOST_LIKE", + "SERVICE_TO_PROCESS_GROUP_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "LSC-FSU" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP" + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_LSC-FSU/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_LSC-FSU/management-zone/management-zone.yaml new file mode 100644 index 00000000..20aceb0a --- /dev/null +++ b/BMW-Dynatrace-config/CD_LSC-FSU/management-zone/management-zone.yaml @@ -0,0 +1,5 @@ +config: +- CDLSC-FSU: CDLSC-FSU.json + +CDLSC-FSU: +- name: CD_LSC-FSU \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_LSC-FSU/notification/README.md b/BMW-Dynatrace-config/CD_LSC-FSU/notification/README.md new file mode 100644 index 00000000..37cb85bc --- /dev/null +++ b/BMW-Dynatrace-config/CD_LSC-FSU/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_LSC-FSU/notification/email.json b/BMW-Dynatrace-config/CD_LSC-FSU/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_LSC-FSU/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_LSC-FSU/notification/msTeams.json b/BMW-Dynatrace-config/CD_LSC-FSU/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_LSC-FSU/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_LSC-FSU/notification/notification.yaml b/BMW-Dynatrace-config/CD_LSC-FSU/notification/notification.yaml new file mode 100644 index 00000000..a4de4e6c --- /dev/null +++ b/BMW-Dynatrace-config/CD_LSC-FSU/notification/notification.yaml @@ -0,0 +1,10 @@ +config: +- CDLSC-FSU: msTeams.json + +#Prod notification system for EMEA/NA/CN +#Dry-run needed for all hubs +CDLSC-FSU: +- name: CD_LSC-FSU +- alertingProfile: CD_LSC-FSU/alerting-profile/CDLSC-FSU.id +- webhook: https://empty +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_LSC-FSU/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_LSC-FSU/synthetic-monitor/README.md new file mode 100644 index 00000000..1695924c --- /dev/null +++ b/BMW-Dynatrace-config/CD_LSC-FSU/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_LSC-FSU/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_LSC-FSU/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_LSC-FSU/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_LSC-FSU/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_LSC-FSU/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..cfa02042 --- /dev/null +++ b/BMW-Dynatrace-config/CD_LSC-FSU/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- LSC-FSU: default.json + +LSC-FSU: +- name: CD_LSC-FSU - +- mzName: CD_LSC-FSU/management-zone/CDLSC-FSU.name +- mzId: CD_LSC-FSU/management-zone/CDLSC-FSU.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Location-Services/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_Location-Services/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..c78fd9d7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Location-Services/alerting-profile/alerting-profile.yaml @@ -0,0 +1,60 @@ +config: +- CDLocation-Services-PROD: default.json +- CDLocation-Services-INT: default.json + +#Prod alerting profiles for EMEA/NA/CN +#Dry-run needed for all hubs +CDLocation-Services-PROD: +- name: CD_Location-Services PROD +- tag: Location-Services +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- env: PROD +- skipDeployment: "true" +#Configuration +CDLocation-Services-PROD.EMEA-Prod: +- name: CD_Location-Services PROD +- tag: Location-Services +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- env: PROD +- skipDeployment: "false" +CDLocation-Services-PROD.NA-Prod: +- name: CD_Location-Services PROD +- tag: Location-Services +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- env: PROD +- skipDeployment: "false" +CDLocation-Services-PROD.CN-Prod: +- name: CD_Location-Services PROD +- tag: Location-Services +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- env: PROD +- skipDeployment: "false" + + +#INT alerting profiles for EMEA/NA/CN +#Dry-run needed for all hubs +CDLocation-Services-INT: +- name: CD_Location-Services INT +- tag: Location-Services +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- env: INT +- skipDeployment: "true" +#Configuration +CDLocation-Services-INT.EMEA-PreProd: +- name: CD_Location-Services INT +- tag: Location-Services +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- env: INT +- skipDeployment: "false" +CDLocation-Services-INT.NA-PreProd: +- name: CD_Location-Services INT +- tag: Location-Services +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- env: INT +- skipDeployment: "false" +CDLocation-Services-INT.CN-PreProd: +- name: CD_Location-Services INT +- tag: Location-Services +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Location-Services/alerting-profile/default.json b/BMW-Dynatrace-config/CD_Location-Services/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Location-Services/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_Location-Services/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_Location-Services/calculated-metrics-service/README.md new file mode 100644 index 00000000..9c2a1f2e --- /dev/null +++ b/BMW-Dynatrace-config/CD_Location-Services/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_Location-Services/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_Location-Services/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..519727bf --- /dev/null +++ b/BMW-Dynatrace-config/CD_Location-Services/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_Location-Services/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_Location-Services/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..0223a967 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Location-Services/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDLocation-Services: template.json + +CDLocation-Services: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: Location-Services +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_Location-Services/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_Location-Services/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Location-Services/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_Location-Services/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_Location-Services/conditional-naming-service/README.md new file mode 100644 index 00000000..b6f10ae1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Location-Services/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_Location-Services/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_Location-Services/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..0223a967 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Location-Services/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDLocation-Services: template.json + +CDLocation-Services: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: Location-Services +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_Location-Services/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_Location-Services/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Location-Services/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_Location-Services/custom-service-java/README.md b/BMW-Dynatrace-config/CD_Location-Services/custom-service-java/README.md new file mode 100644 index 00000000..5f35e5c1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Location-Services/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_Location-Services/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_Location-Services/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Location-Services/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_Location-Services/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_Location-Services/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Location-Services/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_Location-Services/dashboard/README.md b/BMW-Dynatrace-config/CD_Location-Services/dashboard/README.md new file mode 100644 index 00000000..f2f821ec --- /dev/null +++ b/BMW-Dynatrace-config/CD_Location-Services/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Location-Services/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_Location-Services/dashboard/dashboard.yaml new file mode 100644 index 00000000..064ca5f7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Location-Services/dashboard/dashboard.yaml @@ -0,0 +1,127 @@ +config: +- CDLocation-Services-PROD: default.json +- CDLocation-Services-E2E: default.json +- CDLocation-Services-INT: default.json +- CDLocation-Services-TEST: default.json + +#PROD dashboards for EMEA/NA/CN Prod +#Dry-run needed for all hubs +CDLocation-Services-PROD: +- name: CD_Location-Services PROD +- mzName: CD_Location-Services/management-zone/CDLocation-Services.name +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- env: PROD +- skipDeployment: "true" +#Configuration +CDLocation-Services-PROD.EMEA-Prod: +- name: CD_Location-Services PROD +- mzName: CD_Location-Services/management-zone/CDLocation-Services.name +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- tag: Location-Services +- env: PROD +- skipDeployment: "false" +CDLocation-Services-PROD.NA-Prod: +- name: CD_Location-Services PROD +- mzName: CD_Location-Services/management-zone/CDLocation-Services.name +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- tag: Location-Services +- env: PROD +- skipDeployment: "false" +CDLocation-Services-PROD.CN-Prod: +- name: CD_Location-Services PROD +- mzName: CD_Location-Services/management-zone/CDLocation-Services.name +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- tag: Location-Services +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN E2E +#Dry-run needed for all hubs +CDLocation-Services-E2E: +- name: CD_Location-Services E2E +- mzName: CD_Location-Services/management-zone/CDLocation-Services.name +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- env: E2E +- skipDeployment: "true" +#Configuration +CDLocation-Services-E2E.EMEA-Prod: +- name: CD_Location-Services E2E +- mzName: CD_Location-Services/management-zone/CDLocation-Services.name +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- env: E2E +- tag: Location-Services +- skipDeployment: "true" +CDLocation-Services-E2E.NA-Prod: +- name: CD_Location-Services E2E +- mzName: CD_Location-Services/management-zone/CDLocation-Services.name +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- env: E2E +- tag: Location-Services +- skipDeployment: "true" +CDLocation-Services-E2E.CN-Prod: +- name: CD_Location-Services E2E +- mzName: CD_Location-Services/management-zone/CDLocation-Services.name +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- env: E2E +- tag: Location-Services +- skipDeployment: "true" + +#INT dashboards for EMEA/NA/CN +#Dry-run needed for all hubs +CDLocation-Services-INT: +- name: CD_Location-Services INT +- mzName: CD_Location-Services/management-zone/CDLocation-Services.name +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- env: INT +- tag: Location-Services +- skipDeployment: "true" +#Configuration +CDLocation-Services-INT.EMEA-PreProd: +- name: CD_Location-Services INT +- mzName: CD_Location-Services/management-zone/CDLocation-Services.name +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- env: INT +- tag: Location-Services +- skipDeployment: "false" +CDLocation-Services-INT.NA-PreProd: +- name: CD_Location-Services INT +- mzName: CD_Location-Services/management-zone/CDLocation-Services.name +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- env: INT +- skipDeployment: "false" +CDLocation-Services-INT.CN-PreProd: +- name: CD_Location-Services INT +- mzName: CD_Location-Services/management-zone/CDLocation-Services.name +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN +#Dry-run needed for all hubs +CDLocation-Services-TEST: +- name: CD_Location-Services TEST +- mzName: CD_Location-Services/management-zone/CDLocation-Services.name +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- tag: Location-Services +- env: TEST +- skipDeployment: "true" +#Configuration +CDLocation-Services-TEST.EMEA-PreProd: +- name: CD_Location-Services TEST +- mzName: CD_Location-Services/management-zone/CDLocation-Services.name +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- tag: Location-Services +- env: TEST +- skipDeployment: "false" +CDLocation-Services-TEST.NA-PreProd: +- name: CD_Location-Services TEST +- mzName: CD_Location-Services/management-zone/CDLocation-Services.name +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- env: TEST +- skipDeployment: "false" +CDLocation-Services-TEST.CN-PreProd: +- name: CD_Location-Services TEST +- mzName: CD_Location-Services/management-zone/CDLocation-Services.name +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Location-Services/dashboard/default.json b/BMW-Dynatrace-config/CD_Location-Services/dashboard/default.json new file mode 100644 index 00000000..6c685810 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Location-Services/dashboard/default.json @@ -0,0 +1,308 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.tag}}" + ] + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {} + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Location-Services/management-zone/README.md b/BMW-Dynatrace-config/CD_Location-Services/management-zone/README.md new file mode 100644 index 00000000..3716858c --- /dev/null +++ b/BMW-Dynatrace-config/CD_Location-Services/management-zone/README.md @@ -0,0 +1,4 @@ + +### How to configure management zones? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Location-Services/management-zone/default.json b/BMW-Dynatrace-config/CD_Location-Services/management-zone/default.json new file mode 100644 index 00000000..bffa0c3b --- /dev/null +++ b/BMW-Dynatrace-config/CD_Location-Services/management-zone/default.json @@ -0,0 +1,114 @@ +{ + "dimensionalRules": [], + "name": "{{.name}}", + "rules": [ + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "HOST_TAGS" + } + } + ], + "enabled": true, + "type": "HOST" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAMESPACE_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION_NAMESPACE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION" + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Location-Services/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_Location-Services/management-zone/management-zone.yaml index dbdff7b2..a735fe20 100644 --- a/BMW-Dynatrace-config/CD_Location-Services/management-zone/management-zone.yaml +++ b/BMW-Dynatrace-config/CD_Location-Services/management-zone/management-zone.yaml @@ -1,5 +1,6 @@ config: -- CDLocation-Services: CDLocation-Services.json +- CDLocation-Services: default.json CDLocation-Services: - name: CD_Location-Services +- tag: Location-Services diff --git a/BMW-Dynatrace-config/CD_Location-Services/notification/README.md b/BMW-Dynatrace-config/CD_Location-Services/notification/README.md new file mode 100644 index 00000000..37cb85bc --- /dev/null +++ b/BMW-Dynatrace-config/CD_Location-Services/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_Location-Services/notification/email.json b/BMW-Dynatrace-config/CD_Location-Services/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Location-Services/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_Location-Services/notification/msTeams.json b/BMW-Dynatrace-config/CD_Location-Services/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Location-Services/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_Location-Services/notification/notification.yaml b/BMW-Dynatrace-config/CD_Location-Services/notification/notification.yaml new file mode 100644 index 00000000..4dca4e38 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Location-Services/notification/notification.yaml @@ -0,0 +1,51 @@ +config: +- CDLocation-Services-PROD: msTeams.json +- CDLocation-Services-INT: msTeams.json + +#Prod notification system for EMEA/NA/CN +#Dry-run needed for all hubs +CDLocation-Services-PROD: +- name: CD_Location-Services PROD +- alertingProfile: CD_Location-Services/alerting-profile/CDLocation-Services-PROD.id +- webhook: https://empty +- skipDeployment: "true" +#Configuration +CDLocation-Services-PROD.EMEA-Prod: +- name: CD_Location-Services PROD +- alertingProfile: CD_Location-Services/alerting-profile/CDLocation-Services-PROD.id +- webhook: https://empty +- skipDeployment: "false" +CDLocation-Services-PROD.NA-Prod: +- name: CD_Location-Services PROD +- alertingProfile: CD_Location-Services/alerting-profile/CDLocation-Services-PROD.id +- webhook: https://empty +- skipDeployment: "false" +CDLocation-Services-PROD.CN-Prod: +- name: CD_Location-Services PROD +- alertingProfile: CD_Location-Services/alerting-profile/CDLocation-Services-PROD.id +- webhook: https://empty +- skipDeployment: "false" + +#INT notification system for EMEA/NA/CN +#Dry-run needed for all hubs +CDLocation-Services-INT: +- name: CD_Location-Services INT +- alertingProfile: CD_Location-Services/alerting-profile/CDLocation-Services-INT.id +- webhook: https://empty +- skipDeployment: "true" +#Configuration +CDLocation-Services-INT.EMEA-PreProd: +- name: CD_Location-Services INT +- alertingProfile: CD_Location-Services/alerting-profile/CDLocation-Services-INT.id +- webhook: https://empty +- skipDeployment: "false" +CDLocation-Services-INT.NA-PreProd: +- name: CD_Location-Services INT +- alertingProfile: CD_Location-Services/alerting-profile/CDLocation-Services-INT.id +- webhook: https://empty +- skipDeployment: "false" +CDLocation-Services-INT.CN-PreProd: +- name: CD_Location-Services INT +- alertingProfile: CD_Location-Services/alerting-profile/CDLocation-Services-INT.id +- webhook: https://empty +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Location-Services/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_Location-Services/synthetic-monitor/README.md new file mode 100644 index 00000000..1695924c --- /dev/null +++ b/BMW-Dynatrace-config/CD_Location-Services/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_Location-Services/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_Location-Services/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_Location-Services/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_Location-Services/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_Location-Services/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..bac056de --- /dev/null +++ b/BMW-Dynatrace-config/CD_Location-Services/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- Location-Services: default.json + +Location-Services: +- name: CD_Location-Services - +- mzName: CD_Location-Services/management-zone/CDLocation-Services.name +- mzId: CD_Location-Services/management-zone/CDLocation-Services.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Mobile_2/alerting-profile/Mobile2DarkOpsChannel.json b/BMW-Dynatrace-config/CD_Mobile_2/alerting-profile/Mobile2DarkOpsChannel.json new file mode 100644 index 00000000..70527309 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Mobile_2/alerting-profile/Mobile2DarkOpsChannel.json @@ -0,0 +1,55 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": 7948932666251762000, + "metadata": { + "clusterVersion": "1.215.107.20210414-181420", + "configurationVersions": [], + "currentConfigurationVersions": [ + "0" + ] + }, + "mzId": "7948932666251761491", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "NONE", + "tagFilters": [] + } + }, + { + "delayInMinutes": 15, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "NONE", + "tagFilters": [] + } + }, + { + "delayInMinutes": 15, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "NONE", + "tagFilters": [] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "NONE", + "tagFilters": [] + } + }, + { + "delayInMinutes": 15, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "NONE", + "tagFilters": [] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Mobile_2/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_Mobile_2/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..fc1dcc35 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Mobile_2/alerting-profile/alerting-profile.yaml @@ -0,0 +1,5 @@ +config: +- Mobile2DarkOpsChannel: Mobile2DarkOpsChannel.json + +Mobile2DarkOpsChannel: +- name: Mobile 2 | Dark Ops Channel diff --git a/BMW-Dynatrace-config/CD_Mobile_2/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_Mobile_2/calculated-metrics-service/README.md new file mode 100644 index 00000000..9c2a1f2e --- /dev/null +++ b/BMW-Dynatrace-config/CD_Mobile_2/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_Mobile_2/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_Mobile_2/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..519727bf --- /dev/null +++ b/BMW-Dynatrace-config/CD_Mobile_2/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_Mobile_2/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_Mobile_2/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..7b746656 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Mobile_2/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDMobile_2: template.json + +CDMobile_2: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: Mobile_2 +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_Mobile_2/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_Mobile_2/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Mobile_2/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_Mobile_2/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_Mobile_2/conditional-naming-service/README.md new file mode 100644 index 00000000..b6f10ae1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Mobile_2/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_Mobile_2/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_Mobile_2/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..7b746656 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Mobile_2/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDMobile_2: template.json + +CDMobile_2: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: Mobile_2 +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_Mobile_2/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_Mobile_2/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Mobile_2/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_Mobile_2/custom-service-java/README.md b/BMW-Dynatrace-config/CD_Mobile_2/custom-service-java/README.md new file mode 100644 index 00000000..5f35e5c1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Mobile_2/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_Mobile_2/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_Mobile_2/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Mobile_2/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_Mobile_2/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_Mobile_2/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Mobile_2/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_Mobile_2/dashboard/README.md b/BMW-Dynatrace-config/CD_Mobile_2/dashboard/README.md new file mode 100644 index 00000000..f2f821ec --- /dev/null +++ b/BMW-Dynatrace-config/CD_Mobile_2/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Mobile_2/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_Mobile_2/dashboard/dashboard.yaml new file mode 100644 index 00000000..365db707 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Mobile_2/dashboard/dashboard.yaml @@ -0,0 +1,127 @@ +config: +- CDMobile_2-PROD: default.json +- CDMobile_2-E2E: default.json +- CDMobile_2-INT: default.json +- CDMobile_2-TEST: default.json + +#PROD dashboards for EMEA/NA/CN Prod +#Dry-run needed for all hubs +CDMobile_2-PROD: +- name: CD_Mobile_2 PROD +- mzName: CD_Mobile_2/management-zone/CDMobile_2.name +- mzId: CD_Mobile_2/management-zone/CDMobile_2.id +- env: PROD +- skipDeployment: "true" +#Configuration +CDMobile_2-PROD.EMEA-Prod: +- name: CD_Mobile_2 PROD +- mzName: CD_Mobile_2/management-zone/CDMobile_2.name +- mzId: CD_Mobile_2/management-zone/CDMobile_2.id +- tag: Mobile_2 +- env: PROD +- skipDeployment: "false" +CDMobile_2-PROD.NA-Prod: +- name: CD_Mobile_2 PROD +- mzName: CD_Mobile_2/management-zone/CDMobile_2.name +- mzId: CD_Mobile_2/management-zone/CDMobile_2.id +- tag: Mobile_2 +- env: PROD +- skipDeployment: "false" +CDMobile_2-PROD.CN-Prod: +- name: CD_Mobile_2 PROD +- mzName: CD_Mobile_2/management-zone/CDMobile_2.name +- mzId: CD_Mobile_2/management-zone/CDMobile_2.id +- tag: Mobile_2 +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN E2E +#Dry-run needed for all hubs +CDMobile_2-E2E: +- name: CD_Mobile_2 E2E +- mzName: CD_Mobile_2/management-zone/CDMobile_2.name +- mzId: CD_Mobile_2/management-zone/CDMobile_2.id +- env: E2E +- skipDeployment: "true" +#Configuration +CDMobile_2-E2E.EMEA-Prod: +- name: CD_Mobile_2 E2E +- mzName: CD_Mobile_2/management-zone/CDMobile_2.name +- mzId: CD_Mobile_2/management-zone/CDMobile_2.id +- env: E2E +- tag: Mobile_2 +- skipDeployment: "true" +CDMobile_2-E2E.NA-Prod: +- name: CD_Mobile_2 E2E +- mzName: CD_Mobile_2/management-zone/CDMobile_2.name +- mzId: CD_Mobile_2/management-zone/CDMobile_2.id +- env: E2E +- tag: Mobile_2 +- skipDeployment: "true" +CDMobile_2-E2E.CN-Prod: +- name: CD_Mobile_2 E2E +- mzName: CD_Mobile_2/management-zone/CDMobile_2.name +- mzId: CD_Mobile_2/management-zone/CDMobile_2.id +- env: E2E +- tag: Mobile_2 +- skipDeployment: "true" + +#INT dashboards for EMEA/NA/CN +#Dry-run needed for all hubs +CDMobile_2-INT: +- name: CD_Mobile_2 INT +- mzName: CD_Mobile_2/management-zone/CDMobile_2.name +- mzId: CD_Mobile_2/management-zone/CDMobile_2.id +- env: INT +- tag: Mobile_2 +- skipDeployment: "true" +#Configuration +CDMobile_2-INT.EMEA-PreProd: +- name: CD_Mobile_2 INT +- mzName: CD_Mobile_2/management-zone/CDMobile_2.name +- mzId: CD_Mobile_2/management-zone/CDMobile_2.id +- env: INT +- tag: Mobile_2 +- skipDeployment: "false" +CDMobile_2-INT.NA-PreProd: +- name: CD_Mobile_2 INT +- mzName: CD_Mobile_2/management-zone/CDMobile_2.name +- mzId: CD_Mobile_2/management-zone/CDMobile_2.id +- env: INT +- skipDeployment: "false" +CDMobile_2-INT.CN-PreProd: +- name: CD_Mobile_2 INT +- mzName: CD_Mobile_2/management-zone/CDMobile_2.name +- mzId: CD_Mobile_2/management-zone/CDMobile_2.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN +#Dry-run needed for all hubs +CDMobile_2-TEST: +- name: CD_Mobile_2 TEST +- mzName: CD_Mobile_2/management-zone/CDMobile_2.name +- mzId: CD_Mobile_2/management-zone/CDMobile_2.id +- tag: Mobile_2 +- env: TEST +- skipDeployment: "true" +#Configuration +CDMobile_2-TEST.EMEA-PreProd: +- name: CD_Mobile_2 TEST +- mzName: CD_Mobile_2/management-zone/CDMobile_2.name +- mzId: CD_Mobile_2/management-zone/CDMobile_2.id +- tag: Mobile_2 +- env: TEST +- skipDeployment: "false" +CDMobile_2-TEST.NA-PreProd: +- name: CD_Mobile_2 TEST +- mzName: CD_Mobile_2/management-zone/CDMobile_2.name +- mzId: CD_Mobile_2/management-zone/CDMobile_2.id +- env: TEST +- skipDeployment: "false" +CDMobile_2-TEST.CN-PreProd: +- name: CD_Mobile_2 TEST +- mzName: CD_Mobile_2/management-zone/CDMobile_2.name +- mzId: CD_Mobile_2/management-zone/CDMobile_2.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Mobile_2/dashboard/default.json b/BMW-Dynatrace-config/CD_Mobile_2/dashboard/default.json new file mode 100644 index 00000000..6c685810 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Mobile_2/dashboard/default.json @@ -0,0 +1,308 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.tag}}" + ] + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {} + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Mobile_2/management-zone/CDMobile2.json b/BMW-Dynatrace-config/CD_Mobile_2/management-zone/CDMobile2.json new file mode 100644 index 00000000..8e72c893 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Mobile_2/management-zone/CDMobile2.json @@ -0,0 +1,33 @@ +{ + "description": null, + "dimensionalRules": [], + "entitySelectorBasedRules": [], + "metadata": { + "clusterVersion": "1.215.107.20210414-181420", + "configurationVersions": [ + 0 + ] + }, + "name": "{{.name}}", + "rules": [ + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "Mobile" + }, + "key": { + "attribute": "MOBILE_APPLICATION_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "MOBILE_APPLICATION" + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Mobile_2/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_Mobile_2/management-zone/management-zone.yaml new file mode 100644 index 00000000..6534e927 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Mobile_2/management-zone/management-zone.yaml @@ -0,0 +1,5 @@ +config: +- CDMobile_2: CDMobile2.json + +CDMobile_2: +- name: CD_Mobile_2 diff --git a/BMW-Dynatrace-config/CD_Mobile_2/notification/Mobile2DarkOpsChannel.json b/BMW-Dynatrace-config/CD_Mobile_2/notification/Mobile2DarkOpsChannel.json new file mode 100644 index 00000000..fa2f7d47 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Mobile_2/notification/Mobile2DarkOpsChannel.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "5cfb6828-fb42-4d90-a6e6-b5d16cad9fd3", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\", \n\"text\":\"{ProblemDetailsHTML}\", \n\"themeColor\":\"EA4300\" \n} ", + "type": "WEBHOOK", + "url": "https://bmwgroup.webhook.office.com/webhookb2/ac9f3e4c-3a1b-4c4d-bc35-12eba2928619@ce849bab-cc1c-465b-b62e-18f07c9ac198/IncomingWebhook/8cb06a774eac40eba052a7b59e4b996d/afd454fd-fe78-4b0f-be20-df9873ef574f" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Mobile_2/notification/Mobile2DarkOpsChannelRuntime.json b/BMW-Dynatrace-config/CD_Mobile_2/notification/Mobile2DarkOpsChannelRuntime.json new file mode 100644 index 00000000..f28d960f --- /dev/null +++ b/BMW-Dynatrace-config/CD_Mobile_2/notification/Mobile2DarkOpsChannelRuntime.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "6a7da6b4-cc28-4635-bf66-8f0b780f5c54", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\", \n\"text\":\"{ProblemDetailsHTML}\", \n\"themeColor\":\"EA4300\" \n} ", + "type": "WEBHOOK", + "url": "https://bmwgroup.webhook.office.com/webhookb2/483edc00-c925-4672-8088-8299a0139fca@ce849bab-cc1c-465b-b62e-18f07c9ac198/IncomingWebhook/f28b1d3823634c5cb7fbf2cd6df6dbb6/afd454fd-fe78-4b0f-be20-df9873ef574f" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Mobile_2/notification/notification.yaml b/BMW-Dynatrace-config/CD_Mobile_2/notification/notification.yaml new file mode 100644 index 00000000..5fc567b0 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Mobile_2/notification/notification.yaml @@ -0,0 +1,17 @@ +config: +- Mobile2DarkOpsChannelRuntime: Mobile2DarkOpsChannelRuntime.json +- Mobile2DarkOpsChannel: Mobile2DarkOpsChannel.json + +Mobile2DarkOpsChannel: +- name: Mobile 2 | DarkOps Channel +- skipDeployment: "true" +Mobile2DarkOpsChannel.EMEA-Prod: +- name: Mobile 2 | DarkOps Channel +- skipDeployment: "false" + +Mobile2DarkOpsChannelRuntime: +- name: Mobile 2 | DarkOps Channel | Runtime +- skipDeployment: "true" +Mobile2DarkOpsChannelRuntime.EMEA-Prod: +- name: Mobile 2 | DarkOps Channel | Runtime +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Mobile_2/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_Mobile_2/synthetic-monitor/README.md new file mode 100644 index 00000000..1695924c --- /dev/null +++ b/BMW-Dynatrace-config/CD_Mobile_2/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_Mobile_2/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_Mobile_2/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_Mobile_2/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_Mobile_2/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_Mobile_2/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..bb2f343b --- /dev/null +++ b/BMW-Dynatrace-config/CD_Mobile_2/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- Mobile_2: default.json + +Mobile_2: +- name: CD_Mobile_2 - +- mzName: CD_Mobile_2/management-zone/CDMobile_2.name +- mzId: CD_Mobile_2/management-zone/CDMobile_2.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Navigation-Information-Services/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_Navigation-Information-Services/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..f7009d62 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/alerting-profile/alerting-profile.yaml @@ -0,0 +1,60 @@ +config: +- CDNavigation-Information-Services-PROD: default.json +- CDNavigation-Information-Services-INT: default.json + +#Prod alerting profiles for EMEA/NA/CN +#Dry-run needed for all hubs +CDNavigation-Information-Services-PROD: +- name: CD_Navigation-Information-Services PROD +- tag: Navigation-Information-Services +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- env: PROD +- skipDeployment: "true" +#Configuration +CDNavigation-Information-Services-PROD.EMEA-Prod: +- name: CD_Navigation-Information-Services PROD +- tag: Navigation-Information-Services +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- env: PROD +- skipDeployment: "false" +CDNavigation-Information-Services-PROD.NA-Prod: +- name: CD_Navigation-Information-Services PROD +- tag: Navigation-Information-Services +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- env: PROD +- skipDeployment: "false" +CDNavigation-Information-Services-PROD.CN-Prod: +- name: CD_Navigation-Information-Services PROD +- tag: Navigation-Information-Services +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- env: PROD +- skipDeployment: "false" + + +#INT alerting profiles for EMEA/NA/CN +#Dry-run needed for all hubs +CDNavigation-Information-Services-INT: +- name: CD_Navigation-Information-Services INT +- tag: Navigation-Information-Services +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- env: INT +- skipDeployment: "true" +#Configuration +CDNavigation-Information-Services-INT.EMEA-PreProd: +- name: CD_Navigation-Information-Services INT +- tag: Navigation-Information-Services +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- env: INT +- skipDeployment: "false" +CDNavigation-Information-Services-INT.NA-PreProd: +- name: CD_Navigation-Information-Services INT +- tag: Navigation-Information-Services +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- env: INT +- skipDeployment: "false" +CDNavigation-Information-Services-INT.CN-PreProd: +- name: CD_Navigation-Information-Services INT +- tag: Navigation-Information-Services +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Navigation-Information-Services/alerting-profile/default.json b/BMW-Dynatrace-config/CD_Navigation-Information-Services/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/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_Navigation-Information-Services/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_Navigation-Information-Services/calculated-metrics-service/README.md new file mode 100644 index 00000000..9c2a1f2e --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/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_Navigation-Information-Services/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_Navigation-Information-Services/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..519727bf --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/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_Navigation-Information-Services/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_Navigation-Information-Services/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..569ee772 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDNavigation-Information-Services: template.json + +CDNavigation-Information-Services: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: Navigation-Information-Services +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_Navigation-Information-Services/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_Navigation-Information-Services/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/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_Navigation-Information-Services/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_Navigation-Information-Services/conditional-naming-service/README.md new file mode 100644 index 00000000..b6f10ae1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/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_Navigation-Information-Services/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_Navigation-Information-Services/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..569ee772 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDNavigation-Information-Services: template.json + +CDNavigation-Information-Services: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: Navigation-Information-Services +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_Navigation-Information-Services/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_Navigation-Information-Services/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/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_Navigation-Information-Services/custom-service-java/README.md b/BMW-Dynatrace-config/CD_Navigation-Information-Services/custom-service-java/README.md new file mode 100644 index 00000000..5f35e5c1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/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_Navigation-Information-Services/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_Navigation-Information-Services/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/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_Navigation-Information-Services/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_Navigation-Information-Services/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/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_Navigation-Information-Services/dashboard/README.md b/BMW-Dynatrace-config/CD_Navigation-Information-Services/dashboard/README.md new file mode 100644 index 00000000..f2f821ec --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Navigation-Information-Services/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_Navigation-Information-Services/dashboard/dashboard.yaml new file mode 100644 index 00000000..f059d6c3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/dashboard/dashboard.yaml @@ -0,0 +1,127 @@ +config: +- CDNavigation-Information-Services-PROD: default.json +- CDNavigation-Information-Services-E2E: default.json +- CDNavigation-Information-Services-INT: default.json +- CDNavigation-Information-Services-TEST: default.json + +#PROD dashboards for EMEA/NA/CN Prod +#Dry-run needed for all hubs +CDNavigation-Information-Services-PROD: +- name: CD_Navigation-Information-Services PROD +- mzName: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.name +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- env: PROD +- skipDeployment: "true" +#Configuration +CDNavigation-Information-Services-PROD.EMEA-Prod: +- name: CD_Navigation-Information-Services PROD +- mzName: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.name +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- tag: Navigation-Information-Services +- env: PROD +- skipDeployment: "false" +CDNavigation-Information-Services-PROD.NA-Prod: +- name: CD_Navigation-Information-Services PROD +- mzName: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.name +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- tag: Navigation-Information-Services +- env: PROD +- skipDeployment: "false" +CDNavigation-Information-Services-PROD.CN-Prod: +- name: CD_Navigation-Information-Services PROD +- mzName: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.name +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- tag: Navigation-Information-Services +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN E2E +#Dry-run needed for all hubs +CDNavigation-Information-Services-E2E: +- name: CD_Navigation-Information-Services E2E +- mzName: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.name +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- env: E2E +- skipDeployment: "true" +#Configuration +CDNavigation-Information-Services-E2E.EMEA-Prod: +- name: CD_Navigation-Information-Services E2E +- mzName: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.name +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- env: E2E +- tag: Navigation-Information-Services +- skipDeployment: "true" +CDNavigation-Information-Services-E2E.NA-Prod: +- name: CD_Navigation-Information-Services E2E +- mzName: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.name +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- env: E2E +- tag: Navigation-Information-Services +- skipDeployment: "true" +CDNavigation-Information-Services-E2E.CN-Prod: +- name: CD_Navigation-Information-Services E2E +- mzName: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.name +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- env: E2E +- tag: Navigation-Information-Services +- skipDeployment: "true" + +#INT dashboards for EMEA/NA/CN +#Dry-run needed for all hubs +CDNavigation-Information-Services-INT: +- name: CD_Navigation-Information-Services INT +- mzName: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.name +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- env: INT +- tag: Navigation-Information-Services +- skipDeployment: "true" +#Configuration +CDNavigation-Information-Services-INT.EMEA-PreProd: +- name: CD_Navigation-Information-Services INT +- mzName: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.name +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- env: INT +- tag: Navigation-Information-Services +- skipDeployment: "false" +CDNavigation-Information-Services-INT.NA-PreProd: +- name: CD_Navigation-Information-Services INT +- mzName: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.name +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- env: INT +- skipDeployment: "false" +CDNavigation-Information-Services-INT.CN-PreProd: +- name: CD_Navigation-Information-Services INT +- mzName: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.name +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN +#Dry-run needed for all hubs +CDNavigation-Information-Services-TEST: +- name: CD_Navigation-Information-Services TEST +- mzName: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.name +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- tag: Navigation-Information-Services +- env: TEST +- skipDeployment: "true" +#Configuration +CDNavigation-Information-Services-TEST.EMEA-PreProd: +- name: CD_Navigation-Information-Services TEST +- mzName: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.name +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- tag: Navigation-Information-Services +- env: TEST +- skipDeployment: "false" +CDNavigation-Information-Services-TEST.NA-PreProd: +- name: CD_Navigation-Information-Services TEST +- mzName: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.name +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- env: TEST +- skipDeployment: "false" +CDNavigation-Information-Services-TEST.CN-PreProd: +- name: CD_Navigation-Information-Services TEST +- mzName: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.name +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Navigation-Information-Services/dashboard/default.json b/BMW-Dynatrace-config/CD_Navigation-Information-Services/dashboard/default.json new file mode 100644 index 00000000..6c685810 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/dashboard/default.json @@ -0,0 +1,308 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.tag}}" + ] + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {} + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Navigation-Information-Services/management-zone/README.md b/BMW-Dynatrace-config/CD_Navigation-Information-Services/management-zone/README.md new file mode 100644 index 00000000..3716858c --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/management-zone/README.md @@ -0,0 +1,4 @@ + +### How to configure management zones? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Navigation-Information-Services/management-zone/default.json b/BMW-Dynatrace-config/CD_Navigation-Information-Services/management-zone/default.json new file mode 100644 index 00000000..bffa0c3b --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/management-zone/default.json @@ -0,0 +1,114 @@ +{ + "dimensionalRules": [], + "name": "{{.name}}", + "rules": [ + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "HOST_TAGS" + } + } + ], + "enabled": true, + "type": "HOST" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAMESPACE_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION_NAMESPACE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION" + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Navigation-Information-Services/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_Navigation-Information-Services/management-zone/management-zone.yaml new file mode 100644 index 00000000..abf4b0c4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDNavigation-Information-Services: default.json + +CDNavigation-Information-Services: +- name: CD_Navigation-Information-Services +- tag: Navigation-Information-Services diff --git a/BMW-Dynatrace-config/CD_Navigation-Information-Services/notification/README.md b/BMW-Dynatrace-config/CD_Navigation-Information-Services/notification/README.md new file mode 100644 index 00000000..37cb85bc --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/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_Navigation-Information-Services/notification/email.json b/BMW-Dynatrace-config/CD_Navigation-Information-Services/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/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_Navigation-Information-Services/notification/msTeams.json b/BMW-Dynatrace-config/CD_Navigation-Information-Services/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/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_Navigation-Information-Services/notification/notification.yaml b/BMW-Dynatrace-config/CD_Navigation-Information-Services/notification/notification.yaml new file mode 100644 index 00000000..fbf68789 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/notification/notification.yaml @@ -0,0 +1,51 @@ +config: +- CDNavigation-Information-Services-PROD: msTeams.json +- CDNavigation-Information-Services-INT: msTeams.json + +#Prod notification system for EMEA/NA/CN +#Dry-run needed for all hubs +CDNavigation-Information-Services-PROD: +- name: CD_Navigation-Information-Services PROD +- alertingProfile: CD_Navigation-Information-Services/alerting-profile/CDNavigation-Information-Services-PROD.id +- webhook: https://empty +- skipDeployment: "true" +#Configuration +CDNavigation-Information-Services-PROD.EMEA-Prod: +- name: CD_Navigation-Information-Services PROD +- alertingProfile: CD_Navigation-Information-Services/alerting-profile/CDNavigation-Information-Services-PROD.id +- webhook: https://empty +- skipDeployment: "false" +CDNavigation-Information-Services-PROD.NA-Prod: +- name: CD_Navigation-Information-Services PROD +- alertingProfile: CD_Navigation-Information-Services/alerting-profile/CDNavigation-Information-Services-PROD.id +- webhook: https://empty +- skipDeployment: "false" +CDNavigation-Information-Services-PROD.CN-Prod: +- name: CD_Navigation-Information-Services PROD +- alertingProfile: CD_Navigation-Information-Services/alerting-profile/CDNavigation-Information-Services-PROD.id +- webhook: https://empty +- skipDeployment: "false" + +#INT notification system for EMEA/NA/CN +#Dry-run needed for all hubs +CDNavigation-Information-Services-INT: +- name: CD_Navigation-Information-Services INT +- alertingProfile: CD_Navigation-Information-Services/alerting-profile/CDNavigation-Information-Services-INT.id +- webhook: https://empty +- skipDeployment: "true" +#Configuration +CDNavigation-Information-Services-INT.EMEA-PreProd: +- name: CD_Navigation-Information-Services INT +- alertingProfile: CD_Navigation-Information-Services/alerting-profile/CDNavigation-Information-Services-INT.id +- webhook: https://empty +- skipDeployment: "false" +CDNavigation-Information-Services-INT.NA-PreProd: +- name: CD_Navigation-Information-Services INT +- alertingProfile: CD_Navigation-Information-Services/alerting-profile/CDNavigation-Information-Services-INT.id +- webhook: https://empty +- skipDeployment: "false" +CDNavigation-Information-Services-INT.CN-PreProd: +- name: CD_Navigation-Information-Services INT +- alertingProfile: CD_Navigation-Information-Services/alerting-profile/CDNavigation-Information-Services-INT.id +- webhook: https://empty +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Navigation-Information-Services/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_Navigation-Information-Services/synthetic-monitor/README.md new file mode 100644 index 00000000..1695924c --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/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_Navigation-Information-Services/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_Navigation-Information-Services/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/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_Navigation-Information-Services/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_Navigation-Information-Services/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..a3210336 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Navigation-Information-Services/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- Navigation-Information-Services: default.json + +Navigation-Information-Services: +- name: CD_Navigation-Information-Services - +- mzName: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.name +- mzId: CD_Navigation-Information-Services/management-zone/CDNavigation-Information-Services.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_SMACC-BE/alerting-profile/CDSMACC-BE.json b/BMW-Dynatrace-config/CD_SMACC-BE/alerting-profile/CDSMACC-BE.json new file mode 100644 index 00000000..0706faee --- /dev/null +++ b/BMW-Dynatrace-config/CD_SMACC-BE/alerting-profile/CDSMACC-BE.json @@ -0,0 +1,159 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": -3795364033337839000, + "metadata": { + "clusterVersion": "1.215.107.20210414-181420", + "configurationVersions": [], + "currentConfigurationVersions": [ + "0" + ] + }, + "mzId": "-3795364033337839281", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ANY", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "SMACC-BE" + }, + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "SMACC-KTS" + }, + { + "context": "CONTEXTLESS", + "key": "External", + "value": null + } + ] + } + }, + { + "delayInMinutes": 0, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ANY", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "SMACC-BE" + }, + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "SMACC-KTS" + }, + { + "context": "CONTEXTLESS", + "key": "External", + "value": null + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ANY", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "SMACC-BE" + }, + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "SMACC-KTS" + }, + { + "context": "CONTEXTLESS", + "key": "External", + "value": null + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ANY", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "SMACC-BE" + }, + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "SMACC-KTS" + }, + { + "context": "CONTEXTLESS", + "key": "External", + "value": null + } + ] + } + }, + { + "delayInMinutes": 0, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ANY", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "SMACC-BE" + }, + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "SMACC-KTS" + }, + { + "context": "CONTEXTLESS", + "key": "External", + "value": null + } + ] + } + }, + { + "delayInMinutes": 0, + "severityLevel": "MONITORING_UNAVAILABLE", + "tagFilter": { + "includeMode": "INCLUDE_ANY", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "SMACC-BE" + }, + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "SMACC-KTS" + }, + { + "context": "CONTEXTLESS", + "key": "External", + "value": null + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_SMACC-BE/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_SMACC-BE/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..4c7a6503 --- /dev/null +++ b/BMW-Dynatrace-config/CD_SMACC-BE/alerting-profile/alerting-profile.yaml @@ -0,0 +1,5 @@ +config: +- CDSMACC-BE: CDSMACC-BE.json + +CDSMACC-BE: +- name: CD_SMACC-BE diff --git a/BMW-Dynatrace-config/CD_SMACC-BE/management-zone/CDSMACC-BE.json b/BMW-Dynatrace-config/CD_SMACC-BE/management-zone/CDSMACC-BE.json new file mode 100644 index 00000000..2efab5d3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_SMACC-BE/management-zone/CDSMACC-BE.json @@ -0,0 +1,310 @@ +{ + "description": null, + "dimensionalRules": [], + "entitySelectorBasedRules": [], + "metadata": { + "clusterVersion": "1.215.107.20210414-181420", + "configurationVersions": [ + 0 + ] + }, + "name": "{{.name}}", + "rules": [ + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "SMACC-BE" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": true, + "operator": "EQUALS", + "type": "STRING", + "value": "HealthResource" + }, + "key": { + "attribute": "SERVICE_NAME" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": true, + "operator": "EQUALS", + "type": "STRING", + "value": "MetricsResource" + }, + "key": { + "attribute": "SERVICE_NAME" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": true, + "operator": "EQUALS", + "type": "STRING", + "value": "PrometheusResource" + }, + "key": { + "attribute": "SERVICE_NAME" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": true, + "operator": "EQUALS", + "type": "STRING", + "value": "PingResource" + }, + "key": { + "attribute": "SERVICE_NAME" + } + }, + { + "comparisonInfo": { + "caseSensitive": false, + "negate": true, + "operator": "CONTAINS", + "type": "STRING", + "value": "internal service" + }, + "key": { + "attribute": "SERVICE_NAME" + } + }, + { + "comparisonInfo": { + "caseSensitive": false, + "negate": true, + "operator": "CONTAINS", + "type": "STRING", + "value": "ProtocolDataApi" + }, + "key": { + "attribute": "SERVICE_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_HOST_LIKE", + "SERVICE_TO_PROCESS_GROUP_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "SMACC-KTS" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": true, + "operator": "EQUALS", + "type": "STRING", + "value": "PrometheusResource" + }, + "key": { + "attribute": "SERVICE_NAME" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": true, + "operator": "EQUALS", + "type": "STRING", + "value": "MetricsResource" + }, + "key": { + "attribute": "SERVICE_NAME" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": true, + "operator": "EQUALS", + "type": "STRING", + "value": "HealthResource" + }, + "key": { + "attribute": "SERVICE_NAME" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": true, + "operator": "EQUALS", + "type": "STRING", + "value": "PingResource" + }, + "key": { + "attribute": "SERVICE_NAME" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": true, + "operator": "CONTAINS", + "type": "STRING", + "value": "executed" + }, + "key": { + "attribute": "SERVICE_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_HOST_LIKE", + "SERVICE_TO_PROCESS_GROUP_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "SMACC-BE" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "SMACC-KTS" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "TAG_KEY_EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "External" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "BEGINS_WITH", + "type": "STRING", + "value": "svds" + }, + "key": { + "attribute": "SERVICE_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "TAG_KEY_EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "External" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + }, + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "smacc" + }, + "key": { + "attribute": "SERVICE_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "SERVICE" + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_SMACC-BE/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_SMACC-BE/management-zone/management-zone.yaml new file mode 100644 index 00000000..4c7a6503 --- /dev/null +++ b/BMW-Dynatrace-config/CD_SMACC-BE/management-zone/management-zone.yaml @@ -0,0 +1,5 @@ +config: +- CDSMACC-BE: CDSMACC-BE.json + +CDSMACC-BE: +- name: CD_SMACC-BE diff --git a/BMW-Dynatrace-config/CD_SMACC-BE/notification/CDSMACC-BE-MSTeams.json b/BMW-Dynatrace-config/CD_SMACC-BE/notification/CDSMACC-BE-MSTeams.json new file mode 100644 index 00000000..a4e7244f --- /dev/null +++ b/BMW-Dynatrace-config/CD_SMACC-BE/notification/CDSMACC-BE-MSTeams.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "c49ba34a-a856-4ede-a0b7-91e36b019414", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "https://outlook.office.com/webhook/23c95291-075b-4413-ad85-7e2da80f767e@26f86412-f875-4281-b566-fe6fe385e17c/IncomingWebhook/0e2f99d273014f48ad6c745ddd7eb6a5/d77b7aa6-927e-4446-8fb9-0ac6b3d73061" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_SMACC-BE/notification/notification.yaml b/BMW-Dynatrace-config/CD_SMACC-BE/notification/notification.yaml new file mode 100644 index 00000000..1bd464ed --- /dev/null +++ b/BMW-Dynatrace-config/CD_SMACC-BE/notification/notification.yaml @@ -0,0 +1,9 @@ +config: +- CDSMACC-BE-MSTeams: CDSMACC-BE-MSTeams.json + +CDSMACC-BE-MSTeams: +- name: CD_SMACC-BE - MS Teams +- skipDeployment: "true" +CDSMACC-BE-MSTeams.EMEA-Prod: +- name: CD_SMACC-BE - MS Teams +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_SMACC-BE/synthetic-monitor/SMACC-BE-Availability.json b/BMW-Dynatrace-config/CD_SMACC-BE/synthetic-monitor/SMACC-BE-Availability.json new file mode 100644 index 00000000..820dc198 --- /dev/null +++ b/BMW-Dynatrace-config/CD_SMACC-BE/synthetic-monitor/SMACC-BE-Availability.json @@ -0,0 +1,65 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "createdFrom": "API", + "enabled": false, + "entityId": "HTTP_CHECK-F16F06E861594CA7", + "frequencyMin": 10, + "locations": [ + "SYNTHETIC_LOCATION-179C78AF3D136082" + ], + "managementZones": [], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-481392B02CA2050C", + "name": "/smc2-bl/status/v1/ping", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true + }, + "description": "/smc2-bl/status/v1/ping", + "method": "GET", + "url": "https://smc2-bl-smc2-bl-prod.cnap-00-cc-prod.bmwgroup.net/smc2-bl/status/v1/ping", + "validation": { + "rules": [ + { + "passIfFound": false, + "type": "httpStatusesList", + "value": "\u003e=400" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_SMACC-BE/synthetic-monitor/SMACC-KTS-Availability.json b/BMW-Dynatrace-config/CD_SMACC-BE/synthetic-monitor/SMACC-KTS-Availability.json new file mode 100644 index 00000000..585ecace --- /dev/null +++ b/BMW-Dynatrace-config/CD_SMACC-BE/synthetic-monitor/SMACC-KTS-Availability.json @@ -0,0 +1,65 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "createdFrom": "API", + "enabled": false, + "entityId": "HTTP_CHECK-213CF2D8CABD566E", + "frequencyMin": 10, + "locations": [ + "SYNTHETIC_LOCATION-179C78AF3D136082" + ], + "managementZones": [], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-E5FD1FAEDA71B36D", + "name": "/smc2-key-trk/status/v1/ping", + "sequenceNumber": 1 + } + ], + "script": { + "requests": [ + { + "configuration": { + "acceptAnyCertificate": true, + "followRedirects": true + }, + "description": "/smc2-key-trk/status/v1/ping", + "method": "GET", + "url": "https://smc2-key-trk-smc2-key-trk-prod.cnap-00-cc-prod.bmwgroup.net/smc2-key-trk/status/v1/ping", + "validation": { + "rules": [ + { + "passIfFound": false, + "type": "httpStatusesList", + "value": "\u003e=400" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_SMACC-BE/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_SMACC-BE/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..9b841cbd --- /dev/null +++ b/BMW-Dynatrace-config/CD_SMACC-BE/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,17 @@ +config: +- SMACC-KTS-Availability: SMACC-KTS-Availability.json +- SMACC-BE-Availability: SMACC-BE-Availability.json + +SMACC-BE-Availability: +- name: SMACC-BE - Availability +- skipDeployment: "true" +SMACC-BE-Availability.EMEA-Prod: +- name: SMACC-BE - Availability +- skipDeployment: "false" + +SMACC-KTS-Availability: +- name: SMACC-KTS - Availability +- skipDeployment: "true" +SMACC-BE-Availability.EMEA-Prod: +- name: SMACC-BE - Availability +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_SMS-Gateway/alerting-profile/CDSMS-Gateway.json b/BMW-Dynatrace-config/CD_SMS-Gateway/alerting-profile/CDSMS-Gateway.json new file mode 100644 index 00000000..3c575ea7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_SMS-Gateway/alerting-profile/CDSMS-Gateway.json @@ -0,0 +1,63 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": -2133422980246552000, + "metadata": { + "clusterVersion": "1.215.107.20210414-181420", + "configurationVersions": [], + "currentConfigurationVersions": [ + "0" + ] + }, + "mzId": "-2133422980246552080", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "NONE", + "tagFilters": [] + } + }, + { + "delayInMinutes": 0, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "NONE", + "tagFilters": [] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "NONE", + "tagFilters": [] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "NONE", + "tagFilters": [] + } + }, + { + "delayInMinutes": 0, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "NONE", + "tagFilters": [] + } + }, + { + "delayInMinutes": 0, + "severityLevel": "MONITORING_UNAVAILABLE", + "tagFilter": { + "includeMode": "NONE", + "tagFilters": [] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_SMS-Gateway/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_SMS-Gateway/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..e4f23d7c --- /dev/null +++ b/BMW-Dynatrace-config/CD_SMS-Gateway/alerting-profile/alerting-profile.yaml @@ -0,0 +1,5 @@ +config: +- CDSMS-Gateway: CDSMS-Gateway.json + +CDSMS-Gateway: +- name: CD_SMS-Gateway diff --git a/BMW-Dynatrace-config/CD_SMS-Gateway/management-zone/CDSMS-Gateway.json b/BMW-Dynatrace-config/CD_SMS-Gateway/management-zone/CDSMS-Gateway.json new file mode 100644 index 00000000..5904c07c --- /dev/null +++ b/BMW-Dynatrace-config/CD_SMS-Gateway/management-zone/CDSMS-Gateway.json @@ -0,0 +1,58 @@ +{ + "description": null, + "dimensionalRules": [], + "entitySelectorBasedRules": [], + "metadata": { + "clusterVersion": "1.215.107.20210414-181420", + "configurationVersions": [ + 0 + ] + }, + "name": "{{.name}}", + "rules": [ + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "SMS-Gateway" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "BEGINS_WITH", + "type": "STRING", + "value": "SMS GW" + }, + "key": { + "attribute": "HTTP_MONITOR_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "HTTP_MONITOR" + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_SMS-Gateway/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_SMS-Gateway/management-zone/management-zone.yaml new file mode 100644 index 00000000..e4f23d7c --- /dev/null +++ b/BMW-Dynatrace-config/CD_SMS-Gateway/management-zone/management-zone.yaml @@ -0,0 +1,5 @@ +config: +- CDSMS-Gateway: CDSMS-Gateway.json + +CDSMS-Gateway: +- name: CD_SMS-Gateway diff --git a/BMW-Dynatrace-config/CD_SMS-Gateway/synthetic-monitor/SMSGWEMEAE2E.json b/BMW-Dynatrace-config/CD_SMS-Gateway/synthetic-monitor/SMSGWEMEAE2E.json new file mode 100644 index 00000000..eee4e86d --- /dev/null +++ b/BMW-Dynatrace-config/CD_SMS-Gateway/synthetic-monitor/SMSGWEMEAE2E.json @@ -0,0 +1,85 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "createdFrom": "GUI", + "enabled": true, + "entityId": "HTTP_CHECK-B04155D589D0E3D7", + "frequencyMin": 1, + "locations": [ + "SYNTHETIC_LOCATION-6A36EDD481FAEB5D" + ], + "managementZones": [ + { + "id": "-2133422980246552080", + "name": "CD_SMS-Gateway" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-842BA303DC038102", + "name": "SMS GW EMEA E2E", + "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": "SMS GW EMEA E2E", + "method": "POST", + "requestBody": "{\n \"sender\": \"CDE2EMonitoring\",\n \"msg\": \n [ \n {\"to\": \n [ \n {\n \"number\": 49151601XXXX\n \n }\n ],\n \"contentType\":\"text\",\n \"content\": \"Test SMS GW MONITORING\" \n \n }\n ]\n \n}", + "url": "https://smsgw-emea-e2e.bmwgroup.net/sms/v1/message", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "400" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_SMS-Gateway/synthetic-monitor/SMSGWEMEAPROD.json b/BMW-Dynatrace-config/CD_SMS-Gateway/synthetic-monitor/SMSGWEMEAPROD.json new file mode 100644 index 00000000..7e91d5ba --- /dev/null +++ b/BMW-Dynatrace-config/CD_SMS-Gateway/synthetic-monitor/SMSGWEMEAPROD.json @@ -0,0 +1,85 @@ +{ + "anomalyDetection": { + "loadingTimeThresholds": { + "enabled": false, + "thresholds": [ + { + "type": "TOTAL", + "valueMs": 0 + } + ] + }, + "outageHandling": { + "globalOutage": true, + "localOutage": false, + "localOutagePolicy": { + "affectedLocations": 1, + "consecutiveRuns": 3 + } + } + }, + "automaticallyAssignedApps": [], + "createdFrom": "GUI", + "enabled": true, + "entityId": "HTTP_CHECK-3A93AE1CD9A029F7", + "frequencyMin": 1, + "locations": [ + "SYNTHETIC_LOCATION-6A36EDD481FAEB5D" + ], + "managementZones": [ + { + "id": "-2133422980246552080", + "name": "CD_SMS-Gateway" + } + ], + "manuallyAssignedApps": [], + "name": "{{.name}}", + "requests": [ + { + "entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A", + "name": "SMS GW EMEA PROD", + "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": "SMS GW EMEA PROD", + "method": "POST", + "requestBody": "{\n \"sender\": \"CDE2EMonitoring\",\n \"msg\": \n [ \n {\"to\": \n [ \n {\n \"number\": 49151601XXXX\n \n }\n ],\n \"contentType\":\"text\",\n \"content\": \"Test SMS GW MONITORING\" \n \n }\n ]\n \n}", + "url": "https://smsgw-emea-prod.bmwgroup.net/sms/v1/message", + "validation": { + "rules": [ + { + "passIfFound": true, + "type": "httpStatusesList", + "value": "400" + } + ], + "rulesChaining": "or" + } + } + ], + "version": "1.0" + }, + "tags": [], + "type": "HTTP" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_SMS-Gateway/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_SMS-Gateway/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..e99a204c --- /dev/null +++ b/BMW-Dynatrace-config/CD_SMS-Gateway/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,17 @@ +config: +- SMSGWEMEAE2E: SMSGWEMEAE2E.json +- SMSGWEMEAPROD: SMSGWEMEAPROD.json + +SMSGWEMEAE2E: +- name: SMS GW EMEA E2E +- skipDeployment: "true" +SMSGWEMEAE2E.EMEA-Prod: +- name: SMS GW EMEA E2E +- skipDeployment: "false" + +SMSGWEMEAPROD: +- name: SMS GW EMEA PROD +- skipDeployment: "true" +SMSGWEMEAPROD.EMEA-Prod: +- name: SMS GW EMEA PROD +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Service-Bus/alerting-profile/CDService-BusE2E.json b/BMW-Dynatrace-config/CD_Service-Bus/alerting-profile/CDService-BusE2E.json new file mode 100644 index 00000000..3345fbfa --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Bus/alerting-profile/CDService-BusE2E.json @@ -0,0 +1,110 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": 5588329812920061000, + "metadata": { + "clusterVersion": "1.215.107.20210414-181420", + "configurationVersions": [], + "currentConfigurationVersions": [ + "0" + ] + }, + "mzId": "5588329812920061262", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "E2E" + }, + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "Service-Bus" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "E2E" + }, + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "Service-Bus" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "E2E" + }, + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "Service-Bus" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "E2E" + }, + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "Service-Bus" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "E2E" + }, + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "Service-Bus" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Service-Bus/alerting-profile/CDService-BusPROD.json b/BMW-Dynatrace-config/CD_Service-Bus/alerting-profile/CDService-BusPROD.json new file mode 100644 index 00000000..8eb49b8e --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Bus/alerting-profile/CDService-BusPROD.json @@ -0,0 +1,110 @@ +{ + "displayName": "{{.name}}", + "eventTypeFilters": [], + "managementZoneId": 5588329812920061000, + "metadata": { + "clusterVersion": "1.215.107.20210414-181420", + "configurationVersions": [], + "currentConfigurationVersions": [ + "0" + ] + }, + "mzId": "5588329812920061262", + "rules": [ + { + "delayInMinutes": 0, + "severityLevel": "AVAILABILITY", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "PROD" + }, + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "Service-Bus" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "ERROR", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "PROD" + }, + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "Service-Bus" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "PERFORMANCE", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "PROD" + }, + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "Service-Bus" + } + ] + } + }, + { + "delayInMinutes": 30, + "severityLevel": "RESOURCE_CONTENTION", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "PROD" + }, + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "Service-Bus" + } + ] + } + }, + { + "delayInMinutes": 10, + "severityLevel": "CUSTOM_ALERT", + "tagFilter": { + "includeMode": "INCLUDE_ALL", + "tagFilters": [ + { + "context": "CONTEXTLESS", + "key": "Environment", + "value": "PROD" + }, + { + "context": "CONTEXTLESS", + "key": "Component", + "value": "Service-Bus" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Service-Bus/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_Service-Bus/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..af60c379 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Bus/alerting-profile/alerting-profile.yaml @@ -0,0 +1,8 @@ +config: +- CDService-BusE2E: CDService-BusE2E.json +- CDService-BusPROD: CDService-BusPROD.json + +CDService-BusE2E: +- name: CD_Service-Bus E2E +CDService-BusPROD: +- name: CD_Service-Bus PROD diff --git a/BMW-Dynatrace-config/CD_Service-Bus/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_Service-Bus/calculated-metrics-service/README.md new file mode 100644 index 00000000..9c2a1f2e --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Bus/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_Service-Bus/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_Service-Bus/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..519727bf --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Bus/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_Service-Bus/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_Service-Bus/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..f58ca979 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Bus/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDService-Bus: template.json + +CDService-Bus: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: Service-Bus +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_Service-Bus/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_Service-Bus/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Bus/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_Service-Bus/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_Service-Bus/conditional-naming-service/README.md new file mode 100644 index 00000000..b6f10ae1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Bus/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_Service-Bus/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_Service-Bus/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..f58ca979 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Bus/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDService-Bus: template.json + +CDService-Bus: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: Service-Bus +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_Service-Bus/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_Service-Bus/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Bus/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_Service-Bus/custom-service-java/README.md b/BMW-Dynatrace-config/CD_Service-Bus/custom-service-java/README.md new file mode 100644 index 00000000..5f35e5c1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Bus/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_Service-Bus/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_Service-Bus/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Bus/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_Service-Bus/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_Service-Bus/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Bus/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_Service-Bus/dashboard/README.md b/BMW-Dynatrace-config/CD_Service-Bus/dashboard/README.md new file mode 100644 index 00000000..f2f821ec --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Bus/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Service-Bus/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_Service-Bus/dashboard/dashboard.yaml new file mode 100644 index 00000000..b8dce3be --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Bus/dashboard/dashboard.yaml @@ -0,0 +1,127 @@ +config: +- CDService-Bus-PROD: default.json +- CDService-Bus-E2E: default.json +- CDService-Bus-INT: default.json +- CDService-Bus-TEST: default.json + +#PROD dashboards for EMEA/NA/CN Prod +#Dry-run needed for all hubs +CDService-Bus-PROD: +- name: CD_Service-Bus PROD +- mzName: CD_Service-Bus/management-zone/CDService-Bus.name +- mzId: CD_Service-Bus/management-zone/CDService-Bus.id +- env: PROD +- skipDeployment: "true" +#Configuration +CDService-Bus-PROD.EMEA-Prod: +- name: CD_Service-Bus PROD +- mzName: CD_Service-Bus/management-zone/CDService-Bus.name +- mzId: CD_Service-Bus/management-zone/CDService-Bus.id +- tag: Service-Bus +- env: PROD +- skipDeployment: "false" +CDService-Bus-PROD.NA-Prod: +- name: CD_Service-Bus PROD +- mzName: CD_Service-Bus/management-zone/CDService-Bus.name +- mzId: CD_Service-Bus/management-zone/CDService-Bus.id +- tag: Service-Bus +- env: PROD +- skipDeployment: "false" +CDService-Bus-PROD.CN-Prod: +- name: CD_Service-Bus PROD +- mzName: CD_Service-Bus/management-zone/CDService-Bus.name +- mzId: CD_Service-Bus/management-zone/CDService-Bus.id +- tag: Service-Bus +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN E2E +#Dry-run needed for all hubs +CDService-Bus-E2E: +- name: CD_Service-Bus E2E +- mzName: CD_Service-Bus/management-zone/CDService-Bus.name +- mzId: CD_Service-Bus/management-zone/CDService-Bus.id +- env: E2E +- skipDeployment: "true" +#Configuration +CDService-Bus-E2E.EMEA-Prod: +- name: CD_Service-Bus E2E +- mzName: CD_Service-Bus/management-zone/CDService-Bus.name +- mzId: CD_Service-Bus/management-zone/CDService-Bus.id +- env: E2E +- tag: Service-Bus +- skipDeployment: "true" +CDService-Bus-E2E.NA-Prod: +- name: CD_Service-Bus E2E +- mzName: CD_Service-Bus/management-zone/CDService-Bus.name +- mzId: CD_Service-Bus/management-zone/CDService-Bus.id +- env: E2E +- tag: Service-Bus +- skipDeployment: "true" +CDService-Bus-E2E.CN-Prod: +- name: CD_Service-Bus E2E +- mzName: CD_Service-Bus/management-zone/CDService-Bus.name +- mzId: CD_Service-Bus/management-zone/CDService-Bus.id +- env: E2E +- tag: Service-Bus +- skipDeployment: "true" + +#INT dashboards for EMEA/NA/CN +#Dry-run needed for all hubs +CDService-Bus-INT: +- name: CD_Service-Bus INT +- mzName: CD_Service-Bus/management-zone/CDService-Bus.name +- mzId: CD_Service-Bus/management-zone/CDService-Bus.id +- env: INT +- tag: Service-Bus +- skipDeployment: "true" +#Configuration +CDService-Bus-INT.EMEA-PreProd: +- name: CD_Service-Bus INT +- mzName: CD_Service-Bus/management-zone/CDService-Bus.name +- mzId: CD_Service-Bus/management-zone/CDService-Bus.id +- env: INT +- tag: Service-Bus +- skipDeployment: "false" +CDService-Bus-INT.NA-PreProd: +- name: CD_Service-Bus INT +- mzName: CD_Service-Bus/management-zone/CDService-Bus.name +- mzId: CD_Service-Bus/management-zone/CDService-Bus.id +- env: INT +- skipDeployment: "false" +CDService-Bus-INT.CN-PreProd: +- name: CD_Service-Bus INT +- mzName: CD_Service-Bus/management-zone/CDService-Bus.name +- mzId: CD_Service-Bus/management-zone/CDService-Bus.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN +#Dry-run needed for all hubs +CDService-Bus-TEST: +- name: CD_Service-Bus TEST +- mzName: CD_Service-Bus/management-zone/CDService-Bus.name +- mzId: CD_Service-Bus/management-zone/CDService-Bus.id +- tag: Service-Bus +- env: TEST +- skipDeployment: "true" +#Configuration +CDService-Bus-TEST.EMEA-PreProd: +- name: CD_Service-Bus TEST +- mzName: CD_Service-Bus/management-zone/CDService-Bus.name +- mzId: CD_Service-Bus/management-zone/CDService-Bus.id +- tag: Service-Bus +- env: TEST +- skipDeployment: "false" +CDService-Bus-TEST.NA-PreProd: +- name: CD_Service-Bus TEST +- mzName: CD_Service-Bus/management-zone/CDService-Bus.name +- mzId: CD_Service-Bus/management-zone/CDService-Bus.id +- env: TEST +- skipDeployment: "false" +CDService-Bus-TEST.CN-PreProd: +- name: CD_Service-Bus TEST +- mzName: CD_Service-Bus/management-zone/CDService-Bus.name +- mzId: CD_Service-Bus/management-zone/CDService-Bus.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Service-Bus/dashboard/default.json b/BMW-Dynatrace-config/CD_Service-Bus/dashboard/default.json new file mode 100644 index 00000000..6c685810 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Bus/dashboard/default.json @@ -0,0 +1,308 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.tag}}" + ] + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {} + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Service-Bus/management-zone/CDService-Bus.json b/BMW-Dynatrace-config/CD_Service-Bus/management-zone/CDService-Bus.json new file mode 100644 index 00000000..38942ad3 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Bus/management-zone/CDService-Bus.json @@ -0,0 +1,85 @@ +{ + "description": null, + "dimensionalRules": [], + "entitySelectorBasedRules": [], + "metadata": { + "clusterVersion": "1.215.107.20210414-181420", + "configurationVersions": [ + 0 + ] + }, + "name": "{{.name}}", + "rules": [ + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "Service-Bus" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_HOST_LIKE", + "SERVICE_TO_PROCESS_GROUP_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "Service-Bus" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "Service-Bus" + } + }, + "key": { + "attribute": "HOST_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "HOST" + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Service-Bus/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_Service-Bus/management-zone/management-zone.yaml new file mode 100644 index 00000000..172e87df --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Bus/management-zone/management-zone.yaml @@ -0,0 +1,5 @@ +config: +- CDService-Bus: CDService-Bus.json + +CDService-Bus: +- name: CD_Service-Bus diff --git a/BMW-Dynatrace-config/CD_Service-Bus/notification/CDService-BusE2E.json b/BMW-Dynatrace-config/CD_Service-Bus/notification/CDService-BusE2E.json new file mode 100644 index 00000000..6113cb06 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Bus/notification/CDService-BusE2E.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "e1dc8fdc-5c9c-4020-8ecf-71d9972aac68", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "https://empty" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Service-Bus/notification/CDService-BusPROD.json b/BMW-Dynatrace-config/CD_Service-Bus/notification/CDService-BusPROD.json new file mode 100644 index 00000000..b14e1a72 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Bus/notification/CDService-BusPROD.json @@ -0,0 +1,11 @@ +{ + "acceptAnyCertificate": false, + "active": true, + "alertingProfile": "932e7160-56d2-4d9b-90fe-ba5a08ab304e", + "headers": [], + "name": "{{.name}}", + "notifyEventMergesEnabled": false, + "payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}", + "type": "WEBHOOK", + "url": "https://empty" +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Service-Bus/notification/notification.yaml b/BMW-Dynatrace-config/CD_Service-Bus/notification/notification.yaml new file mode 100644 index 00000000..45323786 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Bus/notification/notification.yaml @@ -0,0 +1,17 @@ +config: +- CDService-BusPROD: CDService-BusPROD.json +- CDService-BusE2E: CDService-BusE2E.json + +CDService-BusE2E: +- name: CD_Service-Bus E2E +- skipDeployment: "true" +CDService-BusE2E.EMEA-Prod: +- name: CD_Service-Bus E2E +- skipDeployment: "false" + +CDService-BusPROD: +- name: CD_Service-Bus PROD +- skipDeployment: "true" +CDService-BusPROD.EMEA-Prod: +- name: CD_Service-Bus PROD +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Service-Bus/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_Service-Bus/synthetic-monitor/README.md new file mode 100644 index 00000000..1695924c --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Bus/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_Service-Bus/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_Service-Bus/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Bus/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_Service-Bus/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_Service-Bus/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..599b9a8a --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Bus/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- Service-Bus: default.json + +Service-Bus: +- name: CD_Service-Bus - +- mzName: CD_Service-Bus/management-zone/CDService-Bus.name +- mzId: CD_Service-Bus/management-zone/CDService-Bus.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Service-Gateway/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_Service-Gateway/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..b6ff54d4 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/alerting-profile/alerting-profile.yaml @@ -0,0 +1,60 @@ +config: +- CDService-Gateway-PROD: default.json +- CDService-Gateway-INT: default.json + +#Prod alerting profiles for EMEA/NA/CN +#Dry-run needed for all hubs +CDService-Gateway-PROD: +- name: CD_Service-Gateway PROD +- tag: Service-Gateway +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- env: PROD +- skipDeployment: "true" +#Configuration +CDService-Gateway-PROD.EMEA-Prod: +- name: CD_Service-Gateway PROD +- tag: Service-Gateway +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- env: PROD +- skipDeployment: "false" +CDService-Gateway-PROD.NA-Prod: +- name: CD_Service-Gateway PROD +- tag: Service-Gateway +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- env: PROD +- skipDeployment: "false" +CDService-Gateway-PROD.CN-Prod: +- name: CD_Service-Gateway PROD +- tag: Service-Gateway +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- env: PROD +- skipDeployment: "false" + + +#INT alerting profiles for EMEA/NA/CN +#Dry-run needed for all hubs +CDService-Gateway-INT: +- name: CD_Service-Gateway INT +- tag: Service-Gateway +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- env: INT +- skipDeployment: "true" +#Configuration +CDService-Gateway-INT.EMEA-PreProd: +- name: CD_Service-Gateway INT +- tag: Service-Gateway +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- env: INT +- skipDeployment: "false" +CDService-Gateway-INT.NA-PreProd: +- name: CD_Service-Gateway INT +- tag: Service-Gateway +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- env: INT +- skipDeployment: "false" +CDService-Gateway-INT.CN-PreProd: +- name: CD_Service-Gateway INT +- tag: Service-Gateway +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Service-Gateway/alerting-profile/default.json b/BMW-Dynatrace-config/CD_Service-Gateway/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/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_Service-Gateway/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_Service-Gateway/calculated-metrics-service/README.md new file mode 100644 index 00000000..9c2a1f2e --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/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_Service-Gateway/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_Service-Gateway/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..519727bf --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/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_Service-Gateway/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_Service-Gateway/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..eeb2f10d --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDService-Gateway: template.json + +CDService-Gateway: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: Service-Gateway +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_Service-Gateway/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_Service-Gateway/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/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_Service-Gateway/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_Service-Gateway/conditional-naming-service/README.md new file mode 100644 index 00000000..b6f10ae1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/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_Service-Gateway/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_Service-Gateway/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..eeb2f10d --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDService-Gateway: template.json + +CDService-Gateway: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: Service-Gateway +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_Service-Gateway/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_Service-Gateway/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/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_Service-Gateway/custom-service-java/README.md b/BMW-Dynatrace-config/CD_Service-Gateway/custom-service-java/README.md new file mode 100644 index 00000000..5f35e5c1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/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_Service-Gateway/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_Service-Gateway/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/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_Service-Gateway/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_Service-Gateway/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/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_Service-Gateway/dashboard/README.md b/BMW-Dynatrace-config/CD_Service-Gateway/dashboard/README.md new file mode 100644 index 00000000..f2f821ec --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Service-Gateway/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_Service-Gateway/dashboard/dashboard.yaml new file mode 100644 index 00000000..1bb5f18d --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/dashboard/dashboard.yaml @@ -0,0 +1,127 @@ +config: +- CDService-Gateway-PROD: default.json +- CDService-Gateway-E2E: default.json +- CDService-Gateway-INT: default.json +- CDService-Gateway-TEST: default.json + +#PROD dashboards for EMEA/NA/CN Prod +#Dry-run needed for all hubs +CDService-Gateway-PROD: +- name: CD_Service-Gateway PROD +- mzName: CD_Service-Gateway/management-zone/CDService-Gateway.name +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- env: PROD +- skipDeployment: "true" +#Configuration +CDService-Gateway-PROD.EMEA-Prod: +- name: CD_Service-Gateway PROD +- mzName: CD_Service-Gateway/management-zone/CDService-Gateway.name +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- tag: Service-Gateway +- env: PROD +- skipDeployment: "false" +CDService-Gateway-PROD.NA-Prod: +- name: CD_Service-Gateway PROD +- mzName: CD_Service-Gateway/management-zone/CDService-Gateway.name +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- tag: Service-Gateway +- env: PROD +- skipDeployment: "false" +CDService-Gateway-PROD.CN-Prod: +- name: CD_Service-Gateway PROD +- mzName: CD_Service-Gateway/management-zone/CDService-Gateway.name +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- tag: Service-Gateway +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN E2E +#Dry-run needed for all hubs +CDService-Gateway-E2E: +- name: CD_Service-Gateway E2E +- mzName: CD_Service-Gateway/management-zone/CDService-Gateway.name +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- env: E2E +- skipDeployment: "true" +#Configuration +CDService-Gateway-E2E.EMEA-Prod: +- name: CD_Service-Gateway E2E +- mzName: CD_Service-Gateway/management-zone/CDService-Gateway.name +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- env: E2E +- tag: Service-Gateway +- skipDeployment: "true" +CDService-Gateway-E2E.NA-Prod: +- name: CD_Service-Gateway E2E +- mzName: CD_Service-Gateway/management-zone/CDService-Gateway.name +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- env: E2E +- tag: Service-Gateway +- skipDeployment: "true" +CDService-Gateway-E2E.CN-Prod: +- name: CD_Service-Gateway E2E +- mzName: CD_Service-Gateway/management-zone/CDService-Gateway.name +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- env: E2E +- tag: Service-Gateway +- skipDeployment: "true" + +#INT dashboards for EMEA/NA/CN +#Dry-run needed for all hubs +CDService-Gateway-INT: +- name: CD_Service-Gateway INT +- mzName: CD_Service-Gateway/management-zone/CDService-Gateway.name +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- env: INT +- tag: Service-Gateway +- skipDeployment: "true" +#Configuration +CDService-Gateway-INT.EMEA-PreProd: +- name: CD_Service-Gateway INT +- mzName: CD_Service-Gateway/management-zone/CDService-Gateway.name +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- env: INT +- tag: Service-Gateway +- skipDeployment: "false" +CDService-Gateway-INT.NA-PreProd: +- name: CD_Service-Gateway INT +- mzName: CD_Service-Gateway/management-zone/CDService-Gateway.name +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- env: INT +- skipDeployment: "false" +CDService-Gateway-INT.CN-PreProd: +- name: CD_Service-Gateway INT +- mzName: CD_Service-Gateway/management-zone/CDService-Gateway.name +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN +#Dry-run needed for all hubs +CDService-Gateway-TEST: +- name: CD_Service-Gateway TEST +- mzName: CD_Service-Gateway/management-zone/CDService-Gateway.name +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- tag: Service-Gateway +- env: TEST +- skipDeployment: "true" +#Configuration +CDService-Gateway-TEST.EMEA-PreProd: +- name: CD_Service-Gateway TEST +- mzName: CD_Service-Gateway/management-zone/CDService-Gateway.name +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- tag: Service-Gateway +- env: TEST +- skipDeployment: "false" +CDService-Gateway-TEST.NA-PreProd: +- name: CD_Service-Gateway TEST +- mzName: CD_Service-Gateway/management-zone/CDService-Gateway.name +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- env: TEST +- skipDeployment: "false" +CDService-Gateway-TEST.CN-PreProd: +- name: CD_Service-Gateway TEST +- mzName: CD_Service-Gateway/management-zone/CDService-Gateway.name +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Service-Gateway/dashboard/default.json b/BMW-Dynatrace-config/CD_Service-Gateway/dashboard/default.json new file mode 100644 index 00000000..6c685810 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/dashboard/default.json @@ -0,0 +1,308 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.tag}}" + ] + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {} + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Service-Gateway/management-zone/README.md b/BMW-Dynatrace-config/CD_Service-Gateway/management-zone/README.md new file mode 100644 index 00000000..3716858c --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/management-zone/README.md @@ -0,0 +1,4 @@ + +### How to configure management zones? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Service-Gateway/management-zone/default.json b/BMW-Dynatrace-config/CD_Service-Gateway/management-zone/default.json new file mode 100644 index 00000000..bffa0c3b --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/management-zone/default.json @@ -0,0 +1,114 @@ +{ + "dimensionalRules": [], + "name": "{{.name}}", + "rules": [ + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "SERVICE_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "SERVICE_TO_PROCESS_GROUP_LIKE", + "SERVICE_TO_HOST_LIKE" + ], + "type": "SERVICE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "PROCESS_GROUP_TAGS" + } + } + ], + "enabled": true, + "propagationTypes": [ + "PROCESS_GROUP_TO_HOST" + ], + "type": "PROCESS_GROUP" + }, + { + "conditions": [ + { + "comparisonInfo": { + "negate": false, + "operator": "EQUALS", + "type": "TAG", + "value": { + "context": "CONTEXTLESS", + "key": "Component", + "value": "{{.tag}}" + } + }, + "key": { + "attribute": "HOST_TAGS" + } + } + ], + "enabled": true, + "type": "HOST" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAMESPACE_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION_NAMESPACE" + }, + { + "conditions": [ + { + "comparisonInfo": { + "caseSensitive": true, + "negate": false, + "operator": "CONTAINS", + "type": "STRING", + "value": "{{.tag}}" + }, + "key": { + "attribute": "CLOUD_APPLICATION_NAME" + } + } + ], + "enabled": true, + "propagationTypes": [], + "type": "CLOUD_APPLICATION" + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Service-Gateway/management-zone/management-zone.yaml b/BMW-Dynatrace-config/CD_Service-Gateway/management-zone/management-zone.yaml new file mode 100644 index 00000000..1da01476 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/management-zone/management-zone.yaml @@ -0,0 +1,6 @@ +config: +- CDService-Gateway: default.json + +CDService-Gateway: +- name: CD_Service-Gateway +- tag: Service-Gateway diff --git a/BMW-Dynatrace-config/CD_Service-Gateway/notification/README.md b/BMW-Dynatrace-config/CD_Service-Gateway/notification/README.md new file mode 100644 index 00000000..37cb85bc --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/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_Service-Gateway/notification/email.json b/BMW-Dynatrace-config/CD_Service-Gateway/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/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_Service-Gateway/notification/msTeams.json b/BMW-Dynatrace-config/CD_Service-Gateway/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/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_Service-Gateway/notification/notification.yaml b/BMW-Dynatrace-config/CD_Service-Gateway/notification/notification.yaml new file mode 100644 index 00000000..87e350af --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/notification/notification.yaml @@ -0,0 +1,51 @@ +config: +- CDService-Gateway-PROD: msTeams.json +- CDService-Gateway-INT: msTeams.json + +#Prod notification system for EMEA/NA/CN +#Dry-run needed for all hubs +CDService-Gateway-PROD: +- name: CD_Service-Gateway PROD +- alertingProfile: CD_Service-Gateway/alerting-profile/CDService-Gateway-PROD.id +- webhook: https://empty +- skipDeployment: "true" +#Configuration +CDService-Gateway-PROD.EMEA-Prod: +- name: CD_Service-Gateway PROD +- alertingProfile: CD_Service-Gateway/alerting-profile/CDService-Gateway-PROD.id +- webhook: https://empty +- skipDeployment: "false" +CDService-Gateway-PROD.NA-Prod: +- name: CD_Service-Gateway PROD +- alertingProfile: CD_Service-Gateway/alerting-profile/CDService-Gateway-PROD.id +- webhook: https://empty +- skipDeployment: "false" +CDService-Gateway-PROD.CN-Prod: +- name: CD_Service-Gateway PROD +- alertingProfile: CD_Service-Gateway/alerting-profile/CDService-Gateway-PROD.id +- webhook: https://empty +- skipDeployment: "false" + +#INT notification system for EMEA/NA/CN +#Dry-run needed for all hubs +CDService-Gateway-INT: +- name: CD_Service-Gateway INT +- alertingProfile: CD_Service-Gateway/alerting-profile/CDService-Gateway-INT.id +- webhook: https://empty +- skipDeployment: "true" +#Configuration +CDService-Gateway-INT.EMEA-PreProd: +- name: CD_Service-Gateway INT +- alertingProfile: CD_Service-Gateway/alerting-profile/CDService-Gateway-INT.id +- webhook: https://empty +- skipDeployment: "false" +CDService-Gateway-INT.NA-PreProd: +- name: CD_Service-Gateway INT +- alertingProfile: CD_Service-Gateway/alerting-profile/CDService-Gateway-INT.id +- webhook: https://empty +- skipDeployment: "false" +CDService-Gateway-INT.CN-PreProd: +- name: CD_Service-Gateway INT +- alertingProfile: CD_Service-Gateway/alerting-profile/CDService-Gateway-INT.id +- webhook: https://empty +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Service-Gateway/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_Service-Gateway/synthetic-monitor/README.md new file mode 100644 index 00000000..1695924c --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/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_Service-Gateway/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_Service-Gateway/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/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_Service-Gateway/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_Service-Gateway/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..81da33ac --- /dev/null +++ b/BMW-Dynatrace-config/CD_Service-Gateway/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- Service-Gateway: default.json + +Service-Gateway: +- name: CD_Service-Gateway - +- mzName: CD_Service-Gateway/management-zone/CDService-Gateway.name +- mzId: CD_Service-Gateway/management-zone/CDService-Gateway.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Voice-Services/alerting-profile/alerting-profile.yaml b/BMW-Dynatrace-config/CD_Voice-Services/alerting-profile/alerting-profile.yaml new file mode 100644 index 00000000..c0d6da6b --- /dev/null +++ b/BMW-Dynatrace-config/CD_Voice-Services/alerting-profile/alerting-profile.yaml @@ -0,0 +1,60 @@ +config: +- CDVoice-Services-PROD: default.json +- CDVoice-Services-INT: default.json + +#Prod alerting profiles for EMEA/NA/CN +#Dry-run needed for all hubs +CDVoice-Services-PROD: +- name: CD_Voice-Services PROD +- tag: Voice Services +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- env: PROD +- skipDeployment: "true" +#Configuration +CDVoice-Services-PROD.EMEA-Prod: +- name: CD_Voice-Services PROD +- tag: Voice Services +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- env: PROD +- skipDeployment: "false" +CDVoice-Services-PROD.NA-Prod: +- name: CD_Voice-Services PROD +- tag: Voice Services +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- env: PROD +- skipDeployment: "false" +CDVoice-Services-PROD.CN-Prod: +- name: CD_Voice-Services PROD +- tag: Voice Services +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- env: PROD +- skipDeployment: "false" + + +#INT alerting profiles for EMEA/NA/CN +#Dry-run needed for all hubs +CDVoice-Services-INT: +- name: CD_Voice-Services INT +- tag: Voice Services +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- env: INT +- skipDeployment: "true" +#Configuration +CDVoice-Services-INT.EMEA-PreProd: +- name: CD_Voice-Services INT +- tag: Voice Services +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- env: INT +- skipDeployment: "false" +CDVoice-Services-INT.NA-PreProd: +- name: CD_Voice-Services INT +- tag: Voice Services +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- env: INT +- skipDeployment: "false" +CDVoice-Services-INT.CN-PreProd: +- name: CD_Voice-Services INT +- tag: Voice Services +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- env: INT +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Voice-Services/alerting-profile/default.json b/BMW-Dynatrace-config/CD_Voice-Services/alerting-profile/default.json new file mode 100644 index 00000000..681a4c64 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Voice-Services/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_Voice-Services/calculated-metrics-service/README.md b/BMW-Dynatrace-config/CD_Voice-Services/calculated-metrics-service/README.md new file mode 100644 index 00000000..9c2a1f2e --- /dev/null +++ b/BMW-Dynatrace-config/CD_Voice-Services/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_Voice-Services/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_Voice-Services/conditional-naming-processgroup/README.md new file mode 100644 index 00000000..519727bf --- /dev/null +++ b/BMW-Dynatrace-config/CD_Voice-Services/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_Voice-Services/conditional-naming-processgroup/conditional-naming-processgroup.yaml b/BMW-Dynatrace-config/CD_Voice-Services/conditional-naming-processgroup/conditional-naming-processgroup.yaml new file mode 100644 index 00000000..b86d43fd --- /dev/null +++ b/BMW-Dynatrace-config/CD_Voice-Services/conditional-naming-processgroup/conditional-naming-processgroup.yaml @@ -0,0 +1,8 @@ +config: +- CDVoice-Services: template.json + +CDVoice-Services: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: Voice Services +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_Voice-Services/conditional-naming-processgroup/template.json b/BMW-Dynatrace-config/CD_Voice-Services/conditional-naming-processgroup/template.json new file mode 100644 index 00000000..7c039808 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Voice-Services/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_Voice-Services/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_Voice-Services/conditional-naming-service/README.md new file mode 100644 index 00000000..b6f10ae1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Voice-Services/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_Voice-Services/conditional-naming-service/conditional-naming-service.yaml b/BMW-Dynatrace-config/CD_Voice-Services/conditional-naming-service/conditional-naming-service.yaml new file mode 100644 index 00000000..b86d43fd --- /dev/null +++ b/BMW-Dynatrace-config/CD_Voice-Services/conditional-naming-service/conditional-naming-service.yaml @@ -0,0 +1,8 @@ +config: +- CDVoice-Services: template.json + +CDVoice-Services: +- name: MyProcessNamingRule +- nameFormat: "{ProcessGroup:KubernetesNamespace/regex-example}" +- tag: Voice Services +- skipDeployment: "true" diff --git a/BMW-Dynatrace-config/CD_Voice-Services/conditional-naming-service/template.json b/BMW-Dynatrace-config/CD_Voice-Services/conditional-naming-service/template.json new file mode 100644 index 00000000..5d4fac56 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Voice-Services/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_Voice-Services/custom-service-java/README.md b/BMW-Dynatrace-config/CD_Voice-Services/custom-service-java/README.md new file mode 100644 index 00000000..5f35e5c1 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Voice-Services/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_Voice-Services/custom-service-java/custom-service-java.yaml b/BMW-Dynatrace-config/CD_Voice-Services/custom-service-java/custom-service-java.yaml new file mode 100644 index 00000000..25f8a028 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Voice-Services/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_Voice-Services/custom-service-java/template-1-1.json b/BMW-Dynatrace-config/CD_Voice-Services/custom-service-java/template-1-1.json new file mode 100644 index 00000000..b3003515 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Voice-Services/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_Voice-Services/dashboard/README.md b/BMW-Dynatrace-config/CD_Voice-Services/dashboard/README.md new file mode 100644 index 00000000..f2f821ec --- /dev/null +++ b/BMW-Dynatrace-config/CD_Voice-Services/dashboard/README.md @@ -0,0 +1,4 @@ + +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Voice-Services/dashboard/dashboard.yaml b/BMW-Dynatrace-config/CD_Voice-Services/dashboard/dashboard.yaml new file mode 100644 index 00000000..1d3d1a69 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Voice-Services/dashboard/dashboard.yaml @@ -0,0 +1,127 @@ +config: +- CDVoice-Services-PROD: default.json +- CDVoice-Services-E2E: default.json +- CDVoice-Services-INT: default.json +- CDVoice-Services-TEST: default.json + +#PROD dashboards for EMEA/NA/CN Prod +#Dry-run needed for all hubs +CDVoice-Services-PROD: +- name: CD_Voice-Services PROD +- mzName: CD_Voice-Services/management-zone/CDVoice-Services.name +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- env: PROD +- skipDeployment: "true" +#Configuration +CDVoice-Services-PROD.EMEA-Prod: +- name: CD_Voice-Services PROD +- mzName: CD_Voice-Services/management-zone/CDVoice-Services.name +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- tag: Voice Services +- env: PROD +- skipDeployment: "false" +CDVoice-Services-PROD.NA-Prod: +- name: CD_Voice-Services PROD +- mzName: CD_Voice-Services/management-zone/CDVoice-Services.name +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- tag: Voice Services +- env: PROD +- skipDeployment: "false" +CDVoice-Services-PROD.CN-Prod: +- name: CD_Voice-Services PROD +- mzName: CD_Voice-Services/management-zone/CDVoice-Services.name +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- tag: Voice Services +- env: PROD +- skipDeployment: "false" + +#E2E dashboards for EMEA/NA/CN E2E +#Dry-run needed for all hubs +CDVoice-Services-E2E: +- name: CD_Voice-Services E2E +- mzName: CD_Voice-Services/management-zone/CDVoice-Services.name +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- env: E2E +- skipDeployment: "true" +#Configuration +CDVoice-Services-E2E.EMEA-Prod: +- name: CD_Voice-Services E2E +- mzName: CD_Voice-Services/management-zone/CDVoice-Services.name +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- env: E2E +- tag: Voice Services +- skipDeployment: "true" +CDVoice-Services-E2E.NA-Prod: +- name: CD_Voice-Services E2E +- mzName: CD_Voice-Services/management-zone/CDVoice-Services.name +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- env: E2E +- tag: Voice Services +- skipDeployment: "true" +CDVoice-Services-E2E.CN-Prod: +- name: CD_Voice-Services E2E +- mzName: CD_Voice-Services/management-zone/CDVoice-Services.name +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- env: E2E +- tag: Voice Services +- skipDeployment: "true" + +#INT dashboards for EMEA/NA/CN +#Dry-run needed for all hubs +CDVoice-Services-INT: +- name: CD_Voice-Services INT +- mzName: CD_Voice-Services/management-zone/CDVoice-Services.name +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- env: INT +- tag: Voice Services +- skipDeployment: "true" +#Configuration +CDVoice-Services-INT.EMEA-PreProd: +- name: CD_Voice-Services INT +- mzName: CD_Voice-Services/management-zone/CDVoice-Services.name +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- env: INT +- tag: Voice Services +- skipDeployment: "false" +CDVoice-Services-INT.NA-PreProd: +- name: CD_Voice-Services INT +- mzName: CD_Voice-Services/management-zone/CDVoice-Services.name +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- env: INT +- skipDeployment: "false" +CDVoice-Services-INT.CN-PreProd: +- name: CD_Voice-Services INT +- mzName: CD_Voice-Services/management-zone/CDVoice-Services.name +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- env: INT +- skipDeployment: "false" + +#TEST dashboards for EMEA/NA/CN +#Dry-run needed for all hubs +CDVoice-Services-TEST: +- name: CD_Voice-Services TEST +- mzName: CD_Voice-Services/management-zone/CDVoice-Services.name +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- tag: Voice Services +- env: TEST +- skipDeployment: "true" +#Configuration +CDVoice-Services-TEST.EMEA-PreProd: +- name: CD_Voice-Services TEST +- mzName: CD_Voice-Services/management-zone/CDVoice-Services.name +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- tag: Voice Services +- env: TEST +- skipDeployment: "false" +CDVoice-Services-TEST.NA-PreProd: +- name: CD_Voice-Services TEST +- mzName: CD_Voice-Services/management-zone/CDVoice-Services.name +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- env: TEST +- skipDeployment: "false" +CDVoice-Services-TEST.CN-PreProd: +- name: CD_Voice-Services TEST +- mzName: CD_Voice-Services/management-zone/CDVoice-Services.name +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- env: TEST +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Voice-Services/dashboard/default.json b/BMW-Dynatrace-config/CD_Voice-Services/dashboard/default.json new file mode 100644 index 00000000..6c685810 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Voice-Services/dashboard/default.json @@ -0,0 +1,308 @@ +{ + "metadata": { + "configurationVersions": [ + 3 + ], + "clusterVersion": "1.214.107.20210407-223952" + }, + "dashboardMetadata": { + "name": "{{.name}}", + "shared": true, + "owner": "Ignacio.Goldman@partner.bmwgroup.com", + "dashboardFilter": { + "timeframe": "-24h to now" + }, + "tags": [ + "{{.tag}}" + ] + }, + "tiles": [ + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 228, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Failure rate (HTTP 4xx/5xx errors)", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.errors.fourxx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.fivexx.rate", + "aggregation": "AVG", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956393463, + "customColor": "#ff0000" + }, + "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE": { + "lastModified": 1617956441725, + "customColor": "#fff29a" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Problems", + "tileType": "OPEN_PROBLEMS", + "configured": true, + "bounds": { + "top": 38, + "left": 950, + "width": 152, + "height": 152 + }, + "tileFilter": { + "managementZone": { + "id": "{{.mzId}}", + "name": "{{.mzName}}" + } + } + }, + { + "name": "Overall Health", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {} + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 532, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "Custom chart", + "tileType": "CUSTOM_CHARTING", + "configured": true, + "bounds": { + "top": 570, + "left": 38, + "width": 1064, + "height": 304 + }, + "tileFilter": {}, + "filterConfig": { + "type": "MIXED", + "customName": "Response time, Request Count and Number of Errors", + "defaultName": "Custom chart", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [ + { + "metric": "builtin:service.response.time", + "aggregation": "AVG", + "type": "LINE", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.requestCount.total", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": false, + "aggregationRate": "TOTAL" + }, + { + "metric": "builtin:service.errors.total.count", + "aggregation": "NONE", + "type": "BAR", + "entityType": "SERVICE", + "dimensions": [], + "sortAscending": false, + "sortColumn": true, + "aggregationRate": "TOTAL" + } + ], + "resultMetadata": { + "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275720776, + "customColor": "#008cdb" + }, + "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": { + "lastModified": 1595275955999, + "customColor": "#ef651f" + }, + "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": { + "lastModified": 1595275686773, + "customColor": "#b4e5f9" + } + } + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + } + }, + { + "name": "Markdown", + "tileType": "MARKDOWN", + "configured": true, + "bounds": { + "top": 190, + "left": 38, + "width": 1064, + "height": 38 + }, + "tileFilter": {}, + "markdown": "---\n" + }, + { + "name": "", + "tileType": "DATABASES_OVERVIEW", + "configured": true, + "bounds": { + "top": 38, + "left": 646, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "DATABASE", + "customName": "Databases", + "defaultName": "Databases", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "DATABASE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "SERVICES", + "configured": true, + "bounds": { + "top": 38, + "left": 342, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "SERVICE", + "customName": "Services", + "defaultName": "Services", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "SERVICE": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + }, + { + "name": "", + "tileType": "HOSTS", + "configured": true, + "bounds": { + "top": 38, + "left": 38, + "width": 190, + "height": 152 + }, + "tileFilter": {}, + "filterConfig": { + "type": "HOST", + "customName": "Hosts", + "defaultName": "Hosts", + "chartConfig": { + "legendShown": true, + "type": "TIMESERIES", + "series": [], + "resultMetadata": {} + }, + "filtersPerEntityType": { + "HOST": { + "AUTO_TAGS": [ + "Environment:{{.env}}", + "Component:{{.tag}}" + ] + } + } + }, + "chartVisible": true + } + ] +} \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Voice-Services/notification/README.md b/BMW-Dynatrace-config/CD_Voice-Services/notification/README.md new file mode 100644 index 00000000..37cb85bc --- /dev/null +++ b/BMW-Dynatrace-config/CD_Voice-Services/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_Voice-Services/notification/email.json b/BMW-Dynatrace-config/CD_Voice-Services/notification/email.json new file mode 100644 index 00000000..486642a7 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Voice-Services/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_Voice-Services/notification/msTeams.json b/BMW-Dynatrace-config/CD_Voice-Services/notification/msTeams.json new file mode 100644 index 00000000..33e92cf6 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Voice-Services/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_Voice-Services/notification/notification.yaml b/BMW-Dynatrace-config/CD_Voice-Services/notification/notification.yaml new file mode 100644 index 00000000..a9630ffd --- /dev/null +++ b/BMW-Dynatrace-config/CD_Voice-Services/notification/notification.yaml @@ -0,0 +1,51 @@ +config: +- CDVoice-Services-PROD: msTeams.json +- CDVoice-Services-INT: msTeams.json + +#Prod notification system for EMEA/NA/CN +#Dry-run needed for all hubs +CDVoice-Services-PROD: +- name: CD_Voice-Services PROD +- alertingProfile: CD_Voice-Services/alerting-profile/CDVoice-Services-PROD.id +- webhook: https://empty +- skipDeployment: "true" +#Configuration +CDVoice-Services-PROD.EMEA-Prod: +- name: CD_Voice-Services PROD +- alertingProfile: CD_Voice-Services/alerting-profile/CDVoice-Services-PROD.id +- webhook: https://empty +- skipDeployment: "false" +CDVoice-Services-PROD.NA-Prod: +- name: CD_Voice-Services PROD +- alertingProfile: CD_Voice-Services/alerting-profile/CDVoice-Services-PROD.id +- webhook: https://empty +- skipDeployment: "false" +CDVoice-Services-PROD.CN-Prod: +- name: CD_Voice-Services PROD +- alertingProfile: CD_Voice-Services/alerting-profile/CDVoice-Services-PROD.id +- webhook: https://empty +- skipDeployment: "false" + +#INT notification system for EMEA/NA/CN +#Dry-run needed for all hubs +CDVoice-Services-INT: +- name: CD_Voice-Services INT +- alertingProfile: CD_Voice-Services/alerting-profile/CDVoice-Services-INT.id +- webhook: https://empty +- skipDeployment: "true" +#Configuration +CDVoice-Services-INT.EMEA-PreProd: +- name: CD_Voice-Services INT +- alertingProfile: CD_Voice-Services/alerting-profile/CDVoice-Services-INT.id +- webhook: https://empty +- skipDeployment: "false" +CDVoice-Services-INT.NA-PreProd: +- name: CD_Voice-Services INT +- alertingProfile: CD_Voice-Services/alerting-profile/CDVoice-Services-INT.id +- webhook: https://empty +- skipDeployment: "false" +CDVoice-Services-INT.CN-PreProd: +- name: CD_Voice-Services INT +- alertingProfile: CD_Voice-Services/alerting-profile/CDVoice-Services-INT.id +- webhook: https://empty +- skipDeployment: "false" \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_Voice-Services/synthetic-monitor/README.md b/BMW-Dynatrace-config/CD_Voice-Services/synthetic-monitor/README.md new file mode 100644 index 00000000..1695924c --- /dev/null +++ b/BMW-Dynatrace-config/CD_Voice-Services/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_Voice-Services/synthetic-monitor/default.json b/BMW-Dynatrace-config/CD_Voice-Services/synthetic-monitor/default.json new file mode 100644 index 00000000..cf83039b --- /dev/null +++ b/BMW-Dynatrace-config/CD_Voice-Services/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_Voice-Services/synthetic-monitor/synthetic-monitor.yaml b/BMW-Dynatrace-config/CD_Voice-Services/synthetic-monitor/synthetic-monitor.yaml new file mode 100644 index 00000000..24c47f17 --- /dev/null +++ b/BMW-Dynatrace-config/CD_Voice-Services/synthetic-monitor/synthetic-monitor.yaml @@ -0,0 +1,10 @@ +config: +- Voice-Services: default.json + +Voice-Services: +- name: CD_Voice-Services - +- mzName: CD_Voice-Services/management-zone/CDVoice-Services.name +- mzId: CD_Voice-Services/management-zone/CDVoice-Services.id +- endpoint: +- location: +- skipDeployment: "true" \ No newline at end of file diff --git a/BMW-Dynatrace-config/delete.yaml b/BMW-Dynatrace-config/delete.yaml index f4f10c74..4edad341 100644 --- a/BMW-Dynatrace-config/delete.yaml +++ b/BMW-Dynatrace-config/delete.yaml @@ -1,14 +1,13 @@ delete: - #- "management-zone/CD_ABC" - #- "dashboard/CD_ABC INT" - #- "dashboard/CD_ABC TEST" - #- "alerting-profile/CD_ABC INT" - #- "alerting-profile/CD_ABC E2E" - #- "notification/CD_ABC INT" - #- "notification/CD_ABC E2E" - #- "custom-service-java/CD_myJOYNRService" - - "dashboard/CD_vehicle-remote-command-composite-service INT-TEST" - - "dashboard/CD_vehicle-service-background INT-TEST" - - "dashboard/CD_seam-event-producer INT-TEST" - - "dashboard/CD_Service-Bus INT-TEST" + - "management-zone/CD_vehicle-remote-command-composite-service" + - "dashboard/CD_vehicle-remote-command-composite-service INT" + - "dashboard/CD_vehicle-remote-command-composite-service TEST" + - "dashboard/CD_vehicle-remote-command-composite-service PROD" + - "dashboard/CD_vehicle-remote-command-composite-service E2E" + - "alerting-profile/CD_vehicle-remote-command-composite-service INT" + - "alerting-profile/CD_vehicle-remote-command-composite-service E2E" + - "alerting-profile/CD_vehicle-remote-command-composite-service PROD" + - "notification/CD_vehicle-remote-command-composite-service INT" + - "notification/CD_vehicle-remote-command-composite-service E2E" + - "notification/CD_vehicle-remote-command-composite-service PROD" \ No newline at end of file