diff --git a/BMW-Dynatrace-config/CD_APIGW/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_APIGW/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_APIGW/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_APIGW/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_APIGW/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_APIGW/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_APIGW/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_APIGW/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_APIGW/dashboard/README.md b/BMW-Dynatrace-config/CD_APIGW/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_APIGW/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_APIGW/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_APIGW/management-zone/README.md b/BMW-Dynatrace-config/CD_APIGW/management-zone/README.md new file mode 100644 index 00000000..3716858c --- /dev/null +++ b/BMW-Dynatrace-config/CD_APIGW/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_APIGW/notification/README.md b/BMW-Dynatrace-config/CD_APIGW/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_APIGW/notification/README.md +++ b/BMW-Dynatrace-config/CD_APIGW/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_APIM/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_APIM/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_APIM/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_APIM/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_APIM/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_APIM/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_APIM/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_APIM/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_APIM/dashboard/README.md b/BMW-Dynatrace-config/CD_APIM/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_APIM/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_APIM/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_APIM/management-zone/README.md b/BMW-Dynatrace-config/CD_APIM/management-zone/README.md new file mode 100644 index 00000000..3716858c --- /dev/null +++ b/BMW-Dynatrace-config/CD_APIM/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_APIM/notification/README.md b/BMW-Dynatrace-config/CD_APIM/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_APIM/notification/README.md +++ b/BMW-Dynatrace-config/CD_APIM/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-HAL/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ASBC-HAL/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ASBC-HAL/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ASBC-HAL/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-HAL/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ASBC-HAL/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ASBC-HAL/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ASBC-HAL/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-HAL/dashboard/README.md b/BMW-Dynatrace-config/CD_ASBC-HAL/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ASBC-HAL/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ASBC-HAL/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-HAL/management-zone/README.md b/BMW-Dynatrace-config/CD_ASBC-HAL/management-zone/README.md new file mode 100644 index 00000000..3716858c --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-HAL/management-zone/README.md @@ -0,0 +1,4 @@ + +### How to configure management zones? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-HAL/notification/README.md b/BMW-Dynatrace-config/CD_ASBC-HAL/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ASBC-HAL/notification/README.md +++ b/BMW-Dynatrace-config/CD_ASBC-HAL/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-RSU/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ASBC-RSU/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ASBC-RSU/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ASBC-RSU/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-RSU/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ASBC-RSU/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ASBC-RSU/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ASBC-RSU/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-RSU/dashboard/README.md b/BMW-Dynatrace-config/CD_ASBC-RSU/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ASBC-RSU/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ASBC-RSU/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-RSU/management-zone/README.md b/BMW-Dynatrace-config/CD_ASBC-RSU/management-zone/README.md new file mode 100644 index 00000000..3716858c --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-RSU/management-zone/README.md @@ -0,0 +1,4 @@ + +### How to configure management zones? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-RSU/notification/README.md b/BMW-Dynatrace-config/CD_ASBC-RSU/notification/README.md new file mode 100644 index 00000000..37cb85bc --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-RSU/notification/README.md @@ -0,0 +1,4 @@ + +### How to configure notification systems? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-SMACC/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ASBC-SMACC/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ASBC-SMACC/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ASBC-SMACC/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-SMACC/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ASBC-SMACC/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ASBC-SMACC/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ASBC-SMACC/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-SMACC/dashboard/README.md b/BMW-Dynatrace-config/CD_ASBC-SMACC/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ASBC-SMACC/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ASBC-SMACC/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-SMACC/management-zone/README.md b/BMW-Dynatrace-config/CD_ASBC-SMACC/management-zone/README.md new file mode 100644 index 00000000..3716858c --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-SMACC/management-zone/README.md @@ -0,0 +1,4 @@ + +### How to configure management zones? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_ASBC-SMACC/notification/README.md b/BMW-Dynatrace-config/CD_ASBC-SMACC/notification/README.md new file mode 100644 index 00000000..37cb85bc --- /dev/null +++ b/BMW-Dynatrace-config/CD_ASBC-SMACC/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_App-Repository/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_App-Repository/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_App-Repository/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_App-Repository/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_App-Repository/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_App-Repository/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_App-Repository/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_App-Repository/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_App-Repository/dashboard/README.md b/BMW-Dynatrace-config/CD_App-Repository/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_App-Repository/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_App-Repository/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_App-Repository/management-zone/README.md b/BMW-Dynatrace-config/CD_App-Repository/management-zone/README.md new file mode 100644 index 00000000..3716858c --- /dev/null +++ b/BMW-Dynatrace-config/CD_App-Repository/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_App-Repository/notification/README.md b/BMW-Dynatrace-config/CD_App-Repository/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_App-Repository/notification/README.md +++ b/BMW-Dynatrace-config/CD_App-Repository/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_BMWPoints/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_BMWPoints/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_BMWPoints/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_BMWPoints/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_BMWPoints/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_BMWPoints/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_BMWPoints/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_BMWPoints/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_BMWPoints/dashboard/README.md b/BMW-Dynatrace-config/CD_BMWPoints/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_BMWPoints/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_BMWPoints/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_BMWPoints/management-zone/README.md b/BMW-Dynatrace-config/CD_BMWPoints/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_BMWPoints/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_BMWPoints/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_BMWPoints/notification/README.md b/BMW-Dynatrace-config/CD_BMWPoints/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_BMWPoints/notification/README.md +++ b/BMW-Dynatrace-config/CD_BMWPoints/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_Billing_Buffet/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_Billing_Buffet/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_Billing_Buffet/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_Billing_Buffet/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_Billing_Buffet/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_Billing_Buffet/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_Billing_Buffet/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_Billing_Buffet/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_Billing_Buffet/dashboard/README.md b/BMW-Dynatrace-config/CD_Billing_Buffet/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_Billing_Buffet/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_Billing_Buffet/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_Billing_Buffet/management-zone/README.md b/BMW-Dynatrace-config/CD_Billing_Buffet/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_Billing_Buffet/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_Billing_Buffet/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_Billing_Buffet/notification/README.md b/BMW-Dynatrace-config/CD_Billing_Buffet/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_Billing_Buffet/notification/README.md +++ b/BMW-Dynatrace-config/CD_Billing_Buffet/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_CCG/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_CCG/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_CCG/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_CCG/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_CCG/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_CCG/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_CCG/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_CCG/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_CCG/dashboard/README.md b/BMW-Dynatrace-config/CD_CCG/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_CCG/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_CCG/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_CCG/management-zone/README.md b/BMW-Dynatrace-config/CD_CCG/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_CCG/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_CCG/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_CCG/notification/README.md b/BMW-Dynatrace-config/CD_CCG/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_CCG/notification/README.md +++ b/BMW-Dynatrace-config/CD_CCG/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_CSI/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_CSI/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_CSI/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_CSI/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_CSI/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_CSI/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_CSI/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_CSI/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_CSI/dashboard/README.md b/BMW-Dynatrace-config/CD_CSI/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_CSI/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_CSI/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_CSI/management-zone/README.md b/BMW-Dynatrace-config/CD_CSI/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_CSI/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_CSI/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_CSI/notification/README.md b/BMW-Dynatrace-config/CD_CSI/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_CSI/notification/README.md +++ b/BMW-Dynatrace-config/CD_CSI/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_Call-Handling-Backends/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_Call-Handling-Backends/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_Call-Handling-Backends/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_Call-Handling-Backends/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_Call-Handling-Backends/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_Call-Handling-Backends/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_Call-Handling-Backends/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_Call-Handling-Backends/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_Call-Handling-Backends/dashboard/README.md b/BMW-Dynatrace-config/CD_Call-Handling-Backends/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_Call-Handling-Backends/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_Call-Handling-Backends/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_Call-Handling-Backends/management-zone/README.md b/BMW-Dynatrace-config/CD_Call-Handling-Backends/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_Call-Handling-Backends/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_Call-Handling-Backends/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_Call-Handling-Backends/notification/README.md b/BMW-Dynatrace-config/CD_Call-Handling-Backends/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_Call-Handling-Backends/notification/README.md +++ b/BMW-Dynatrace-config/CD_Call-Handling-Backends/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_CallCenterClient/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_CallCenterClient/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_CallCenterClient/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_CallCenterClient/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_CallCenterClient/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_CallCenterClient/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_CallCenterClient/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_CallCenterClient/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_CallCenterClient/dashboard/README.md b/BMW-Dynatrace-config/CD_CallCenterClient/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_CallCenterClient/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_CallCenterClient/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_CallCenterClient/management-zone/README.md b/BMW-Dynatrace-config/CD_CallCenterClient/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_CallCenterClient/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_CallCenterClient/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_CallCenterClient/notification/README.md b/BMW-Dynatrace-config/CD_CallCenterClient/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_CallCenterClient/notification/README.md +++ b/BMW-Dynatrace-config/CD_CallCenterClient/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_Connected-Backend-Services/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_Connected-Backend-Services/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_Connected-Backend-Services/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_Connected-Backend-Services/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_Connected-Backend-Services/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_Connected-Backend-Services/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_Connected-Backend-Services/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_Connected-Backend-Services/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_Connected-Backend-Services/dashboard/README.md b/BMW-Dynatrace-config/CD_Connected-Backend-Services/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_Connected-Backend-Services/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_Connected-Backend-Services/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_Connected-Backend-Services/management-zone/README.md b/BMW-Dynatrace-config/CD_Connected-Backend-Services/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_Connected-Backend-Services/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_Connected-Backend-Services/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_Connected-Backend-Services/notification/README.md b/BMW-Dynatrace-config/CD_Connected-Backend-Services/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_Connected-Backend-Services/notification/README.md +++ b/BMW-Dynatrace-config/CD_Connected-Backend-Services/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_Connected-User-Behaviour/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_Connected-User-Behaviour/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_Connected-User-Behaviour/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_Connected-User-Behaviour/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_Connected-User-Behaviour/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_Connected-User-Behaviour/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_Connected-User-Behaviour/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_Connected-User-Behaviour/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_Connected-User-Behaviour/dashboard/README.md b/BMW-Dynatrace-config/CD_Connected-User-Behaviour/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_Connected-User-Behaviour/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_Connected-User-Behaviour/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_Connected-User-Behaviour/management-zone/README.md b/BMW-Dynatrace-config/CD_Connected-User-Behaviour/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_Connected-User-Behaviour/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_Connected-User-Behaviour/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_Connected-User-Behaviour/notification/README.md b/BMW-Dynatrace-config/CD_Connected-User-Behaviour/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_Connected-User-Behaviour/notification/README.md +++ b/BMW-Dynatrace-config/CD_Connected-User-Behaviour/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ConnectedDrive-Internet-Portal/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ConnectedDrive-Internet-Portal/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ConnectedDrive-Internet-Portal/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ConnectedDrive-Internet-Portal/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ConnectedDrive-Internet-Portal/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ConnectedDrive-Internet-Portal/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ConnectedDrive-Internet-Portal/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ConnectedDrive-Internet-Portal/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ConnectedDrive-Internet-Portal/dashboard/README.md b/BMW-Dynatrace-config/CD_ConnectedDrive-Internet-Portal/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ConnectedDrive-Internet-Portal/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ConnectedDrive-Internet-Portal/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ConnectedDrive-Internet-Portal/management-zone/README.md b/BMW-Dynatrace-config/CD_ConnectedDrive-Internet-Portal/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ConnectedDrive-Internet-Portal/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ConnectedDrive-Internet-Portal/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ConnectedDrive-Internet-Portal/notification/README.md b/BMW-Dynatrace-config/CD_ConnectedDrive-Internet-Portal/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ConnectedDrive-Internet-Portal/notification/README.md +++ b/BMW-Dynatrace-config/CD_ConnectedDrive-Internet-Portal/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ContentProvider/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ContentProvider/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ContentProvider/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ContentProvider/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ContentProvider/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ContentProvider/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ContentProvider/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ContentProvider/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ContentProvider/dashboard/README.md b/BMW-Dynatrace-config/CD_ContentProvider/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ContentProvider/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ContentProvider/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ContentProvider/management-zone/README.md b/BMW-Dynatrace-config/CD_ContentProvider/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ContentProvider/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ContentProvider/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ContentProvider/notification/README.md b/BMW-Dynatrace-config/CD_ContentProvider/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ContentProvider/notification/README.md +++ b/BMW-Dynatrace-config/CD_ContentProvider/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_DPP_DPM/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_DPP_DPM/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_DPP_DPM/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_DPP_DPM/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_DPP_DPM/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_DPP_DPM/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_DPP_DPM/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_DPP_DPM/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_DPP_DPM/dashboard/README.md b/BMW-Dynatrace-config/CD_DPP_DPM/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_DPP_DPM/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_DPP_DPM/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_DPP_DPM/management-zone/README.md b/BMW-Dynatrace-config/CD_DPP_DPM/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_DPP_DPM/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_DPP_DPM/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_DPP_DPM/notification/README.md b/BMW-Dynatrace-config/CD_DPP_DPM/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_DPP_DPM/notification/README.md +++ b/BMW-Dynatrace-config/CD_DPP_DPM/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_LSC/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_LSC/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_LSC/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_LSC/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_LSC/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_LSC/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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/dashboard/README.md b/BMW-Dynatrace-config/CD_LSC/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_LSC/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_LSC/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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/management-zone/README.md b/BMW-Dynatrace-config/CD_LSC/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_LSC/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_LSC/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_LSC/notification/README.md b/BMW-Dynatrace-config/CD_LSC/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_LSC/notification/README.md +++ b/BMW-Dynatrace-config/CD_LSC/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_Messaging-Services/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_Messaging-Services/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_Messaging-Services/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_Messaging-Services/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_Messaging-Services/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_Messaging-Services/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_Messaging-Services/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_Messaging-Services/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_Messaging-Services/dashboard/README.md b/BMW-Dynatrace-config/CD_Messaging-Services/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_Messaging-Services/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_Messaging-Services/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_Messaging-Services/management-zone/README.md b/BMW-Dynatrace-config/CD_Messaging-Services/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_Messaging-Services/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_Messaging-Services/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_Messaging-Services/notification/README.md b/BMW-Dynatrace-config/CD_Messaging-Services/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_Messaging-Services/notification/README.md +++ b/BMW-Dynatrace-config/CD_Messaging-Services/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_PISA/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_PISA/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_PISA/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_PISA/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_PISA/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_PISA/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_PISA/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_PISA/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_PISA/dashboard/README.md b/BMW-Dynatrace-config/CD_PISA/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_PISA/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_PISA/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_PISA/management-zone/README.md b/BMW-Dynatrace-config/CD_PISA/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_PISA/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_PISA/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_PISA/notification/README.md b/BMW-Dynatrace-config/CD_PISA/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_PISA/notification/README.md +++ b/BMW-Dynatrace-config/CD_PISA/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_Perseus/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_Perseus/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_Perseus/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_Perseus/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_Perseus/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_Perseus/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_Perseus/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_Perseus/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_Perseus/dashboard/README.md b/BMW-Dynatrace-config/CD_Perseus/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_Perseus/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_Perseus/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_Perseus/management-zone/README.md b/BMW-Dynatrace-config/CD_Perseus/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_Perseus/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_Perseus/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_Perseus/notification/README.md b/BMW-Dynatrace-config/CD_Perseus/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_Perseus/notification/README.md +++ b/BMW-Dynatrace-config/CD_Perseus/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_RemoteServices/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_RemoteServices/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_RemoteServices/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_RemoteServices/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_RemoteServices/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_RemoteServices/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_RemoteServices/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_RemoteServices/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_RemoteServices/dashboard/README.md b/BMW-Dynatrace-config/CD_RemoteServices/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_RemoteServices/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_RemoteServices/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_RemoteServices/management-zone/README.md b/BMW-Dynatrace-config/CD_RemoteServices/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_RemoteServices/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_RemoteServices/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_RemoteServices/notification/README.md b/BMW-Dynatrace-config/CD_RemoteServices/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_RemoteServices/notification/README.md +++ b/BMW-Dynatrace-config/CD_RemoteServices/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_Speech/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_Speech/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_Speech/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_Speech/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_Speech/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_Speech/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_Speech/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_Speech/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_Speech/dashboard/README.md b/BMW-Dynatrace-config/CD_Speech/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_Speech/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_Speech/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_Speech/management-zone/README.md b/BMW-Dynatrace-config/CD_Speech/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_Speech/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_Speech/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_Speech/notification/README.md b/BMW-Dynatrace-config/CD_Speech/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_Speech/notification/README.md +++ b/BMW-Dynatrace-config/CD_Speech/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_agent-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_agent-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_agent-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_agent-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_agent-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_agent-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_agent-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_agent-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_agent-service/dashboard/README.md b/BMW-Dynatrace-config/CD_agent-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_agent-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_agent-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_agent-service/management-zone/README.md b/BMW-Dynatrace-config/CD_agent-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_agent-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_agent-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_agent-service/notification/README.md b/BMW-Dynatrace-config/CD_agent-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_agent-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_agent-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_aluis/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_aluis/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_aluis/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_aluis/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_aluis/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_aluis/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_aluis/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_aluis/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_aluis/dashboard/README.md b/BMW-Dynatrace-config/CD_aluis/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_aluis/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_aluis/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_aluis/management-zone/README.md b/BMW-Dynatrace-config/CD_aluis/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_aluis/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_aluis/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_aluis/notification/README.md b/BMW-Dynatrace-config/CD_aluis/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_aluis/notification/README.md +++ b/BMW-Dynatrace-config/CD_aluis/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_am-casa/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_am-casa/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_am-casa/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_am-casa/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_am-casa/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_am-casa/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_am-casa/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_am-casa/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_am-casa/dashboard/README.md b/BMW-Dynatrace-config/CD_am-casa/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_am-casa/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_am-casa/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_am-casa/management-zone/README.md b/BMW-Dynatrace-config/CD_am-casa/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_am-casa/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_am-casa/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_am-casa/notification/README.md b/BMW-Dynatrace-config/CD_am-casa/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_am-casa/notification/README.md +++ b/BMW-Dynatrace-config/CD_am-casa/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_am-cesim/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_am-cesim/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_am-cesim/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_am-cesim/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_am-cesim/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_am-cesim/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_am-cesim/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_am-cesim/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_am-cesim/dashboard/README.md b/BMW-Dynatrace-config/CD_am-cesim/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_am-cesim/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_am-cesim/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_am-cesim/management-zone/README.md b/BMW-Dynatrace-config/CD_am-cesim/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_am-cesim/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_am-cesim/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_am-cesim/notification/README.md b/BMW-Dynatrace-config/CD_am-cesim/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_am-cesim/notification/README.md +++ b/BMW-Dynatrace-config/CD_am-cesim/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_am-cns/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_am-cns/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_am-cns/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_am-cns/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_am-cns/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_am-cns/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_am-cns/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_am-cns/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_am-cns/dashboard/README.md b/BMW-Dynatrace-config/CD_am-cns/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_am-cns/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_am-cns/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_am-cns/management-zone/README.md b/BMW-Dynatrace-config/CD_am-cns/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_am-cns/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_am-cns/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_am-cns/notification/README.md b/BMW-Dynatrace-config/CD_am-cns/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_am-cns/notification/README.md +++ b/BMW-Dynatrace-config/CD_am-cns/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_am-device/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_am-device/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_am-device/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_am-device/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_am-device/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_am-device/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_am-device/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_am-device/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_am-device/dashboard/README.md b/BMW-Dynatrace-config/CD_am-device/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_am-device/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_am-device/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_am-device/management-zone/README.md b/BMW-Dynatrace-config/CD_am-device/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_am-device/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_am-device/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_am-device/notification/README.md b/BMW-Dynatrace-config/CD_am-device/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_am-device/notification/README.md +++ b/BMW-Dynatrace-config/CD_am-device/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_am-ecs/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_am-ecs/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_am-ecs/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_am-ecs/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_am-ecs/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_am-ecs/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_am-ecs/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_am-ecs/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_am-ecs/dashboard/README.md b/BMW-Dynatrace-config/CD_am-ecs/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_am-ecs/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_am-ecs/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_am-ecs/management-zone/README.md b/BMW-Dynatrace-config/CD_am-ecs/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_am-ecs/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_am-ecs/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_am-ecs/notification/README.md b/BMW-Dynatrace-config/CD_am-ecs/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_am-ecs/notification/README.md +++ b/BMW-Dynatrace-config/CD_am-ecs/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_am-egim/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_am-egim/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_am-egim/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_am-egim/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_am-egim/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_am-egim/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_am-egim/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_am-egim/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_am-egim/dashboard/README.md b/BMW-Dynatrace-config/CD_am-egim/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_am-egim/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_am-egim/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_am-egim/management-zone/README.md b/BMW-Dynatrace-config/CD_am-egim/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_am-egim/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_am-egim/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_am-egim/notification/README.md b/BMW-Dynatrace-config/CD_am-egim/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_am-egim/notification/README.md +++ b/BMW-Dynatrace-config/CD_am-egim/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_am-esim-ui/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_am-esim-ui/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_am-esim-ui/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_am-esim-ui/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_am-esim-ui/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_am-esim-ui/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_am-esim-ui/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_am-esim-ui/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_am-esim-ui/dashboard/README.md b/BMW-Dynatrace-config/CD_am-esim-ui/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_am-esim-ui/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_am-esim-ui/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_am-esim-ui/management-zone/README.md b/BMW-Dynatrace-config/CD_am-esim-ui/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_am-esim-ui/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_am-esim-ui/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_am-esim-ui/notification/README.md b/BMW-Dynatrace-config/CD_am-esim-ui/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_am-esim-ui/notification/README.md +++ b/BMW-Dynatrace-config/CD_am-esim-ui/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_am-lmcs/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_am-lmcs/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_am-lmcs/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_am-lmcs/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_am-lmcs/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_am-lmcs/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_am-lmcs/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_am-lmcs/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_am-lmcs/dashboard/README.md b/BMW-Dynatrace-config/CD_am-lmcs/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_am-lmcs/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_am-lmcs/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_am-lmcs/management-zone/README.md b/BMW-Dynatrace-config/CD_am-lmcs/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_am-lmcs/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_am-lmcs/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_am-lmcs/notification/README.md b/BMW-Dynatrace-config/CD_am-lmcs/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_am-lmcs/notification/README.md +++ b/BMW-Dynatrace-config/CD_am-lmcs/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_am-mno-manager/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_am-mno-manager/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_am-mno-manager/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_am-mno-manager/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_am-mno-manager/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_am-mno-manager/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_am-mno-manager/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_am-mno-manager/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_am-mno-manager/dashboard/README.md b/BMW-Dynatrace-config/CD_am-mno-manager/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_am-mno-manager/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_am-mno-manager/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_am-mno-manager/management-zone/README.md b/BMW-Dynatrace-config/CD_am-mno-manager/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_am-mno-manager/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_am-mno-manager/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_am-mno-manager/notification/README.md b/BMW-Dynatrace-config/CD_am-mno-manager/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_am-mno-manager/notification/README.md +++ b/BMW-Dynatrace-config/CD_am-mno-manager/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_am-proxy/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_am-proxy/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_am-proxy/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_am-proxy/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_am-proxy/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_am-proxy/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_am-proxy/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_am-proxy/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_am-proxy/dashboard/README.md b/BMW-Dynatrace-config/CD_am-proxy/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_am-proxy/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_am-proxy/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_am-proxy/management-zone/README.md b/BMW-Dynatrace-config/CD_am-proxy/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_am-proxy/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_am-proxy/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_am-proxy/notification/README.md b/BMW-Dynatrace-config/CD_am-proxy/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_am-proxy/notification/README.md +++ b/BMW-Dynatrace-config/CD_am-proxy/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_am-store/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_am-store/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_am-store/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_am-store/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_am-store/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_am-store/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_am-store/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_am-store/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_am-store/dashboard/README.md b/BMW-Dynatrace-config/CD_am-store/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_am-store/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_am-store/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_am-store/management-zone/README.md b/BMW-Dynatrace-config/CD_am-store/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_am-store/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_am-store/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_am-store/notification/README.md b/BMW-Dynatrace-config/CD_am-store/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_am-store/notification/README.md +++ b/BMW-Dynatrace-config/CD_am-store/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_am-svms/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_am-svms/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_am-svms/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_am-svms/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_am-svms/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_am-svms/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_am-svms/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_am-svms/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_am-svms/dashboard/README.md b/BMW-Dynatrace-config/CD_am-svms/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_am-svms/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_am-svms/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_am-svms/management-zone/README.md b/BMW-Dynatrace-config/CD_am-svms/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_am-svms/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_am-svms/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_am-svms/notification/README.md b/BMW-Dynatrace-config/CD_am-svms/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_am-svms/notification/README.md +++ b/BMW-Dynatrace-config/CD_am-svms/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_am-ui/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_am-ui/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_am-ui/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_am-ui/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_am-ui/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_am-ui/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_am-ui/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_am-ui/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_am-ui/dashboard/README.md b/BMW-Dynatrace-config/CD_am-ui/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_am-ui/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_am-ui/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_am-ui/management-zone/README.md b/BMW-Dynatrace-config/CD_am-ui/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_am-ui/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_am-ui/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_am-ui/notification/README.md b/BMW-Dynatrace-config/CD_am-ui/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_am-ui/notification/README.md +++ b/BMW-Dynatrace-config/CD_am-ui/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_am-usage/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_am-usage/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_am-usage/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_am-usage/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_am-usage/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_am-usage/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_am-usage/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_am-usage/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_am-usage/dashboard/README.md b/BMW-Dynatrace-config/CD_am-usage/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_am-usage/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_am-usage/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_am-usage/management-zone/README.md b/BMW-Dynatrace-config/CD_am-usage/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_am-usage/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_am-usage/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_am-usage/notification/README.md b/BMW-Dynatrace-config/CD_am-usage/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_am-usage/notification/README.md +++ b/BMW-Dynatrace-config/CD_am-usage/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_am-vehicle-activation/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_am-vehicle-activation/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_am-vehicle-activation/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_am-vehicle-activation/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_am-vehicle-activation/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_am-vehicle-activation/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_am-vehicle-activation/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_am-vehicle-activation/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_am-vehicle-activation/dashboard/README.md b/BMW-Dynatrace-config/CD_am-vehicle-activation/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_am-vehicle-activation/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_am-vehicle-activation/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_am-vehicle-activation/management-zone/README.md b/BMW-Dynatrace-config/CD_am-vehicle-activation/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_am-vehicle-activation/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_am-vehicle-activation/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_am-vehicle-activation/notification/README.md b/BMW-Dynatrace-config/CD_am-vehicle-activation/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_am-vehicle-activation/notification/README.md +++ b/BMW-Dynatrace-config/CD_am-vehicle-activation/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_am-vms/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_am-vms/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_am-vms/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_am-vms/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_am-vms/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_am-vms/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_am-vms/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_am-vms/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_am-vms/dashboard/README.md b/BMW-Dynatrace-config/CD_am-vms/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_am-vms/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_am-vms/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_am-vms/management-zone/README.md b/BMW-Dynatrace-config/CD_am-vms/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_am-vms/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_am-vms/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_am-vms/notification/README.md b/BMW-Dynatrace-config/CD_am-vms/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_am-vms/notification/README.md +++ b/BMW-Dynatrace-config/CD_am-vms/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_analytics-user-data-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_analytics-user-data-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_analytics-user-data-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_analytics-user-data-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_analytics-user-data-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_analytics-user-data-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_analytics-user-data-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_analytics-user-data-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_analytics-user-data-service/dashboard/README.md b/BMW-Dynatrace-config/CD_analytics-user-data-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_analytics-user-data-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_analytics-user-data-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_analytics-user-data-service/management-zone/README.md b/BMW-Dynatrace-config/CD_analytics-user-data-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_analytics-user-data-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_analytics-user-data-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_analytics-user-data-service/notification/README.md b/BMW-Dynatrace-config/CD_analytics-user-data-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_analytics-user-data-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_analytics-user-data-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_asbc-pki-oclisc2v/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_asbc-pki-oclisc2v/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_asbc-pki-oclisc2v/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_asbc-pki-oclisc2v/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_asbc-pki-oclisc2v/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_asbc-pki-oclisc2v/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_asbc-pki-oclisc2v/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_asbc-pki-oclisc2v/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_asbc-pki-oclisc2v/dashboard/README.md b/BMW-Dynatrace-config/CD_asbc-pki-oclisc2v/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_asbc-pki-oclisc2v/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_asbc-pki-oclisc2v/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_asbc-pki-oclisc2v/management-zone/README.md b/BMW-Dynatrace-config/CD_asbc-pki-oclisc2v/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_asbc-pki-oclisc2v/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_asbc-pki-oclisc2v/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_asbc-pki-oclisc2v/notification/README.md b/BMW-Dynatrace-config/CD_asbc-pki-oclisc2v/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_asbc-pki-oclisc2v/notification/README.md +++ b/BMW-Dynatrace-config/CD_asbc-pki-oclisc2v/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_asbc-pki-oclisocsp/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_asbc-pki-oclisocsp/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_asbc-pki-oclisocsp/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_asbc-pki-oclisocsp/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_asbc-pki-oclisocsp/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_asbc-pki-oclisocsp/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_asbc-pki-oclisocsp/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_asbc-pki-oclisocsp/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_asbc-pki-oclisocsp/dashboard/README.md b/BMW-Dynatrace-config/CD_asbc-pki-oclisocsp/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_asbc-pki-oclisocsp/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_asbc-pki-oclisocsp/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_asbc-pki-oclisocsp/management-zone/README.md b/BMW-Dynatrace-config/CD_asbc-pki-oclisocsp/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_asbc-pki-oclisocsp/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_asbc-pki-oclisocsp/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_asbc-pki-oclisocsp/notification/README.md b/BMW-Dynatrace-config/CD_asbc-pki-oclisocsp/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_asbc-pki-oclisocsp/notification/README.md +++ b/BMW-Dynatrace-config/CD_asbc-pki-oclisocsp/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_asbc-sfa-oh/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_asbc-sfa-oh/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_asbc-sfa-oh/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_asbc-sfa-oh/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_asbc-sfa-oh/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_asbc-sfa-oh/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_asbc-sfa-oh/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_asbc-sfa-oh/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_asbc-sfa-oh/dashboard/README.md b/BMW-Dynatrace-config/CD_asbc-sfa-oh/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_asbc-sfa-oh/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_asbc-sfa-oh/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_asbc-sfa-oh/management-zone/README.md b/BMW-Dynatrace-config/CD_asbc-sfa-oh/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_asbc-sfa-oh/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_asbc-sfa-oh/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_asbc-sfa-oh/notification/README.md b/BMW-Dynatrace-config/CD_asbc-sfa-oh/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_asbc-sfa-oh/notification/README.md +++ b/BMW-Dynatrace-config/CD_asbc-sfa-oh/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_asbc-sts/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_asbc-sts/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_asbc-sts/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_asbc-sts/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_asbc-sts/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_asbc-sts/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_asbc-sts/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_asbc-sts/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_asbc-sts/dashboard/README.md b/BMW-Dynatrace-config/CD_asbc-sts/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_asbc-sts/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_asbc-sts/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### How to configure dashboards? + +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Dashboards) page to configure your dashboards. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_asbc-sts/management-zone/README.md b/BMW-Dynatrace-config/CD_asbc-sts/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_asbc-sts/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_asbc-sts/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Management+Zones) page to configure your management zones. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_asbc-sts/notification/README.md b/BMW-Dynatrace-config/CD_asbc-sts/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_asbc-sts/notification/README.md +++ b/BMW-Dynatrace-config/CD_asbc-sts/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_asbctvp/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_asbctvp/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_asbctvp/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_asbctvp/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_asbctvp/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_asbctvp/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_asbctvp/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_asbctvp/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_asbctvp/dashboard/README.md b/BMW-Dynatrace-config/CD_asbctvp/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_asbctvp/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_asbctvp/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_asbctvp/management-zone/README.md b/BMW-Dynatrace-config/CD_asbctvp/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_asbctvp/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_asbctvp/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_asbctvp/notification/README.md b/BMW-Dynatrace-config/CD_asbctvp/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_asbctvp/notification/README.md +++ b/BMW-Dynatrace-config/CD_asbctvp/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_avs-client-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_avs-client-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_avs-client-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_avs-client-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_avs-client-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_avs-client-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_avs-client-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_avs-client-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_avs-client-service/dashboard/README.md b/BMW-Dynatrace-config/CD_avs-client-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_avs-client-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_avs-client-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_avs-client-service/management-zone/README.md b/BMW-Dynatrace-config/CD_avs-client-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_avs-client-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_avs-client-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_avs-client-service/notification/README.md b/BMW-Dynatrace-config/CD_avs-client-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_avs-client-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_avs-client-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_avs-proxy-composite-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_avs-proxy-composite-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_avs-proxy-composite-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_avs-proxy-composite-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_avs-proxy-composite-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_avs-proxy-composite-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_avs-proxy-composite-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_avs-proxy-composite-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_avs-proxy-composite-service/dashboard/README.md b/BMW-Dynatrace-config/CD_avs-proxy-composite-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_avs-proxy-composite-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_avs-proxy-composite-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_avs-proxy-composite-service/management-zone/README.md b/BMW-Dynatrace-config/CD_avs-proxy-composite-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_avs-proxy-composite-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_avs-proxy-composite-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_avs-proxy-composite-service/notification/README.md b/BMW-Dynatrace-config/CD_avs-proxy-composite-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_avs-proxy-composite-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_avs-proxy-composite-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_b2v-com-be/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_b2v-com-be/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-be/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-be/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_b2v-com-be/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_b2v-com-be/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-be/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-be/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_b2v-com-be/dashboard/README.md b/BMW-Dynatrace-config/CD_b2v-com-be/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-be/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-be/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_b2v-com-be/management-zone/README.md b/BMW-Dynatrace-config/CD_b2v-com-be/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-be/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-be/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_b2v-com-be/notification/README.md b/BMW-Dynatrace-config/CD_b2v-com-be/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-be/notification/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-be/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_b2v-com-echo/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_b2v-com-echo/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-echo/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-echo/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_b2v-com-echo/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_b2v-com-echo/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-echo/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-echo/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_b2v-com-echo/dashboard/README.md b/BMW-Dynatrace-config/CD_b2v-com-echo/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-echo/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-echo/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_b2v-com-echo/management-zone/README.md b/BMW-Dynatrace-config/CD_b2v-com-echo/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-echo/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-echo/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_b2v-com-echo/notification/README.md b/BMW-Dynatrace-config/CD_b2v-com-echo/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-echo/notification/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-echo/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_b2v-com-fe/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_b2v-com-fe/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-fe/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-fe/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_b2v-com-fe/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_b2v-com-fe/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-fe/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-fe/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_b2v-com-fe/dashboard/README.md b/BMW-Dynatrace-config/CD_b2v-com-fe/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-fe/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-fe/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_b2v-com-fe/management-zone/README.md b/BMW-Dynatrace-config/CD_b2v-com-fe/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-fe/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-fe/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_b2v-com-fe/notification/README.md b/BMW-Dynatrace-config/CD_b2v-com-fe/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-fe/notification/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-fe/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_b2v-com-gcdm-client/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_b2v-com-gcdm-client/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-gcdm-client/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-gcdm-client/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_b2v-com-gcdm-client/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_b2v-com-gcdm-client/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-gcdm-client/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-gcdm-client/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_b2v-com-gcdm-client/dashboard/README.md b/BMW-Dynatrace-config/CD_b2v-com-gcdm-client/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-gcdm-client/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-gcdm-client/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_b2v-com-gcdm-client/management-zone/README.md b/BMW-Dynatrace-config/CD_b2v-com-gcdm-client/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-gcdm-client/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-gcdm-client/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_b2v-com-gcdm-client/notification/README.md b/BMW-Dynatrace-config/CD_b2v-com-gcdm-client/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-gcdm-client/notification/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-gcdm-client/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_b2v-com-hello/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_b2v-com-hello/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-hello/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-hello/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_b2v-com-hello/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_b2v-com-hello/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-hello/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-hello/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_b2v-com-hello/dashboard/README.md b/BMW-Dynatrace-config/CD_b2v-com-hello/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-hello/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-hello/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_b2v-com-hello/management-zone/README.md b/BMW-Dynatrace-config/CD_b2v-com-hello/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-hello/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-hello/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_b2v-com-hello/notification/README.md b/BMW-Dynatrace-config/CD_b2v-com-hello/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_b2v-com-hello/notification/README.md +++ b/BMW-Dynatrace-config/CD_b2v-com-hello/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_b2v-nots/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_b2v-nots/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_b2v-nots/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_b2v-nots/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_b2v-nots/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_b2v-nots/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_b2v-nots/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_b2v-nots/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_b2v-nots/dashboard/README.md b/BMW-Dynatrace-config/CD_b2v-nots/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_b2v-nots/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_b2v-nots/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_b2v-nots/management-zone/README.md b/BMW-Dynatrace-config/CD_b2v-nots/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_b2v-nots/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_b2v-nots/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_b2v-nots/notification/README.md b/BMW-Dynatrace-config/CD_b2v-nots/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_b2v-nots/notification/README.md +++ b/BMW-Dynatrace-config/CD_b2v-nots/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_b2v-sms-statistics/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_b2v-sms-statistics/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_b2v-sms-statistics/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_b2v-sms-statistics/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_b2v-sms-statistics/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_b2v-sms-statistics/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_b2v-sms-statistics/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_b2v-sms-statistics/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_b2v-sms-statistics/dashboard/README.md b/BMW-Dynatrace-config/CD_b2v-sms-statistics/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_b2v-sms-statistics/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_b2v-sms-statistics/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_b2v-sms-statistics/management-zone/README.md b/BMW-Dynatrace-config/CD_b2v-sms-statistics/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_b2v-sms-statistics/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_b2v-sms-statistics/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_b2v-sms-statistics/notification/README.md b/BMW-Dynatrace-config/CD_b2v-sms-statistics/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_b2v-sms-statistics/notification/README.md +++ b/BMW-Dynatrace-config/CD_b2v-sms-statistics/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_bmw-points-push-notifications-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_bmw-points-push-notifications-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_bmw-points-push-notifications-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_bmw-points-push-notifications-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_bmw-points-push-notifications-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_bmw-points-push-notifications-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_bmw-points-push-notifications-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_bmw-points-push-notifications-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_bmw-points-push-notifications-service/dashboard/README.md b/BMW-Dynatrace-config/CD_bmw-points-push-notifications-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_bmw-points-push-notifications-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_bmw-points-push-notifications-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_bmw-points-push-notifications-service/management-zone/README.md b/BMW-Dynatrace-config/CD_bmw-points-push-notifications-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_bmw-points-push-notifications-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_bmw-points-push-notifications-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_bmw-points-push-notifications-service/notification/README.md b/BMW-Dynatrace-config/CD_bmw-points-push-notifications-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_bmw-points-push-notifications-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_bmw-points-push-notifications-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_bsi-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_bsi-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_bsi-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_bsi-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_bsi-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_bsi-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_bsi-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_bsi-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_bsi-service/dashboard/README.md b/BMW-Dynatrace-config/CD_bsi-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_bsi-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_bsi-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_bsi-service/management-zone/README.md b/BMW-Dynatrace-config/CD_bsi-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_bsi-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_bsi-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_bsi-service/notification/README.md b/BMW-Dynatrace-config/CD_bsi-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_bsi-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_bsi-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_cac/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_cac/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_cac/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_cac/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_cac/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_cac/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_cac/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_cac/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_cac/dashboard/README.md b/BMW-Dynatrace-config/CD_cac/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_cac/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_cac/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_cac/management-zone/README.md b/BMW-Dynatrace-config/CD_cac/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_cac/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_cac/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_cac/notification/README.md b/BMW-Dynatrace-config/CD_cac/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_cac/notification/README.md +++ b/BMW-Dynatrace-config/CD_cac/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_casa-event-processor/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_casa-event-processor/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_casa-event-processor/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_casa-event-processor/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_casa-event-processor/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_casa-event-processor/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_casa-event-processor/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_casa-event-processor/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_casa-event-processor/dashboard/README.md b/BMW-Dynatrace-config/CD_casa-event-processor/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_casa-event-processor/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_casa-event-processor/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_casa-event-processor/management-zone/README.md b/BMW-Dynatrace-config/CD_casa-event-processor/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_casa-event-processor/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_casa-event-processor/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_casa-event-processor/notification/README.md b/BMW-Dynatrace-config/CD_casa-event-processor/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_casa-event-processor/notification/README.md +++ b/BMW-Dynatrace-config/CD_casa-event-processor/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_cdc/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_cdc/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_cdc/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_cdc/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_cdc/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_cdc/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_cdc/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_cdc/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_cdc/dashboard/README.md b/BMW-Dynatrace-config/CD_cdc/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_cdc/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_cdc/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_cdc/management-zone/README.md b/BMW-Dynatrace-config/CD_cdc/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_cdc/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_cdc/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_cdc/notification/README.md b/BMW-Dynatrace-config/CD_cdc/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_cdc/notification/README.md +++ b/BMW-Dynatrace-config/CD_cdc/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_cdcicd-jenkins/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_cdcicd-jenkins/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_cdcicd-jenkins/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_cdcicd-jenkins/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_cdcicd-jenkins/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_cdcicd-jenkins/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_cdcicd-jenkins/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_cdcicd-jenkins/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_cdcicd-jenkins/dashboard/README.md b/BMW-Dynatrace-config/CD_cdcicd-jenkins/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_cdcicd-jenkins/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_cdcicd-jenkins/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_cdcicd-jenkins/management-zone/README.md b/BMW-Dynatrace-config/CD_cdcicd-jenkins/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_cdcicd-jenkins/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_cdcicd-jenkins/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_cdcicd-jenkins/notification/README.md b/BMW-Dynatrace-config/CD_cdcicd-jenkins/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_cdcicd-jenkins/notification/README.md +++ b/BMW-Dynatrace-config/CD_cdcicd-jenkins/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_chargenow-enabler-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_chargenow-enabler-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_chargenow-enabler-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_chargenow-enabler-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_chargenow-enabler-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_chargenow-enabler-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_chargenow-enabler-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_chargenow-enabler-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_chargenow-enabler-service/dashboard/README.md b/BMW-Dynatrace-config/CD_chargenow-enabler-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_chargenow-enabler-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_chargenow-enabler-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_chargenow-enabler-service/management-zone/README.md b/BMW-Dynatrace-config/CD_chargenow-enabler-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_chargenow-enabler-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_chargenow-enabler-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_chargenow-enabler-service/notification/README.md b/BMW-Dynatrace-config/CD_chargenow-enabler-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_chargenow-enabler-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_chargenow-enabler-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_charging-data-privacy-composite/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_charging-data-privacy-composite/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_charging-data-privacy-composite/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_charging-data-privacy-composite/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_charging-data-privacy-composite/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_charging-data-privacy-composite/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_charging-data-privacy-composite/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_charging-data-privacy-composite/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_charging-data-privacy-composite/dashboard/README.md b/BMW-Dynatrace-config/CD_charging-data-privacy-composite/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_charging-data-privacy-composite/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_charging-data-privacy-composite/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_charging-data-privacy-composite/management-zone/README.md b/BMW-Dynatrace-config/CD_charging-data-privacy-composite/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_charging-data-privacy-composite/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_charging-data-privacy-composite/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_charging-data-privacy-composite/notification/README.md b/BMW-Dynatrace-config/CD_charging-data-privacy-composite/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_charging-data-privacy-composite/notification/README.md +++ b/BMW-Dynatrace-config/CD_charging-data-privacy-composite/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_charging-data-privacy/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_charging-data-privacy/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_charging-data-privacy/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_charging-data-privacy/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_charging-data-privacy/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_charging-data-privacy/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_charging-data-privacy/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_charging-data-privacy/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_charging-data-privacy/dashboard/README.md b/BMW-Dynatrace-config/CD_charging-data-privacy/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_charging-data-privacy/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_charging-data-privacy/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_charging-data-privacy/management-zone/README.md b/BMW-Dynatrace-config/CD_charging-data-privacy/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_charging-data-privacy/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_charging-data-privacy/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_charging-data-privacy/notification/README.md b/BMW-Dynatrace-config/CD_charging-data-privacy/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_charging-data-privacy/notification/README.md +++ b/BMW-Dynatrace-config/CD_charging-data-privacy/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_charging-events-push-notification-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_charging-events-push-notification-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_charging-events-push-notification-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_charging-events-push-notification-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_charging-events-push-notification-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_charging-events-push-notification-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_charging-events-push-notification-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_charging-events-push-notification-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_charging-events-push-notification-service/dashboard/README.md b/BMW-Dynatrace-config/CD_charging-events-push-notification-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_charging-events-push-notification-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_charging-events-push-notification-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_charging-events-push-notification-service/management-zone/README.md b/BMW-Dynatrace-config/CD_charging-events-push-notification-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_charging-events-push-notification-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_charging-events-push-notification-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_charging-events-push-notification-service/notification/README.md b/BMW-Dynatrace-config/CD_charging-events-push-notification-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_charging-events-push-notification-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_charging-events-push-notification-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_charging-events-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_charging-events-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_charging-events-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_charging-events-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_charging-events-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_charging-events-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_charging-events-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_charging-events-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_charging-events-service/dashboard/README.md b/BMW-Dynatrace-config/CD_charging-events-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_charging-events-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_charging-events-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_charging-events-service/management-zone/README.md b/BMW-Dynatrace-config/CD_charging-events-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_charging-events-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_charging-events-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_charging-events-service/notification/README.md b/BMW-Dynatrace-config/CD_charging-events-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_charging-events-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_charging-events-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_charging-history-gdpr-proxy-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_charging-history-gdpr-proxy-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_charging-history-gdpr-proxy-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_charging-history-gdpr-proxy-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_charging-history-gdpr-proxy-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_charging-history-gdpr-proxy-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_charging-history-gdpr-proxy-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_charging-history-gdpr-proxy-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_charging-history-gdpr-proxy-service/dashboard/README.md b/BMW-Dynatrace-config/CD_charging-history-gdpr-proxy-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_charging-history-gdpr-proxy-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_charging-history-gdpr-proxy-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_charging-history-gdpr-proxy-service/management-zone/README.md b/BMW-Dynatrace-config/CD_charging-history-gdpr-proxy-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_charging-history-gdpr-proxy-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_charging-history-gdpr-proxy-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_charging-history-gdpr-proxy-service/notification/README.md b/BMW-Dynatrace-config/CD_charging-history-gdpr-proxy-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_charging-history-gdpr-proxy-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_charging-history-gdpr-proxy-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_charging-plan-composite-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_charging-plan-composite-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_charging-plan-composite-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_charging-plan-composite-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_charging-plan-composite-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_charging-plan-composite-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_charging-plan-composite-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_charging-plan-composite-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_charging-plan-composite-service/dashboard/README.md b/BMW-Dynatrace-config/CD_charging-plan-composite-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_charging-plan-composite-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_charging-plan-composite-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_charging-plan-composite-service/management-zone/README.md b/BMW-Dynatrace-config/CD_charging-plan-composite-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_charging-plan-composite-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_charging-plan-composite-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_charging-plan-composite-service/notification/README.md b/BMW-Dynatrace-config/CD_charging-plan-composite-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_charging-plan-composite-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_charging-plan-composite-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_charging-push-notifications-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_charging-push-notifications-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_charging-push-notifications-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_charging-push-notifications-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_charging-push-notifications-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_charging-push-notifications-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_charging-push-notifications-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_charging-push-notifications-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_charging-push-notifications-service/dashboard/README.md b/BMW-Dynatrace-config/CD_charging-push-notifications-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_charging-push-notifications-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_charging-push-notifications-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_charging-push-notifications-service/management-zone/README.md b/BMW-Dynatrace-config/CD_charging-push-notifications-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_charging-push-notifications-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_charging-push-notifications-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_charging-push-notifications-service/notification/README.md b/BMW-Dynatrace-config/CD_charging-push-notifications-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_charging-push-notifications-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_charging-push-notifications-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_charging-remote-commands-composite-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_charging-remote-commands-composite-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_charging-remote-commands-composite-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_charging-remote-commands-composite-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_charging-remote-commands-composite-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_charging-remote-commands-composite-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_charging-remote-commands-composite-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_charging-remote-commands-composite-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_charging-remote-commands-composite-service/dashboard/README.md b/BMW-Dynatrace-config/CD_charging-remote-commands-composite-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_charging-remote-commands-composite-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_charging-remote-commands-composite-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_charging-remote-commands-composite-service/management-zone/README.md b/BMW-Dynatrace-config/CD_charging-remote-commands-composite-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_charging-remote-commands-composite-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_charging-remote-commands-composite-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_charging-remote-commands-composite-service/notification/README.md b/BMW-Dynatrace-config/CD_charging-remote-commands-composite-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_charging-remote-commands-composite-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_charging-remote-commands-composite-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_charging-sessions-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_charging-sessions-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_charging-sessions-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_charging-sessions-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_charging-sessions-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_charging-sessions-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_charging-sessions-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_charging-sessions-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_charging-sessions-service/dashboard/README.md b/BMW-Dynatrace-config/CD_charging-sessions-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_charging-sessions-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_charging-sessions-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_charging-sessions-service/management-zone/README.md b/BMW-Dynatrace-config/CD_charging-sessions-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_charging-sessions-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_charging-sessions-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_charging-sessions-service/notification/README.md b/BMW-Dynatrace-config/CD_charging-sessions-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_charging-sessions-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_charging-sessions-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_charging-stations-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_charging-stations-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_charging-stations-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_charging-stations-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_charging-stations-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_charging-stations-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_charging-stations-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_charging-stations-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_charging-stations-service/dashboard/README.md b/BMW-Dynatrace-config/CD_charging-stations-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_charging-stations-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_charging-stations-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_charging-stations-service/management-zone/README.md b/BMW-Dynatrace-config/CD_charging-stations-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_charging-stations-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_charging-stations-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_charging-stations-service/notification/README.md b/BMW-Dynatrace-config/CD_charging-stations-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_charging-stations-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_charging-stations-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_client-agent-telemetry-processor/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_client-agent-telemetry-processor/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_client-agent-telemetry-processor/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_client-agent-telemetry-processor/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_client-agent-telemetry-processor/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_client-agent-telemetry-processor/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_client-agent-telemetry-processor/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_client-agent-telemetry-processor/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_client-agent-telemetry-processor/dashboard/README.md b/BMW-Dynatrace-config/CD_client-agent-telemetry-processor/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_client-agent-telemetry-processor/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_client-agent-telemetry-processor/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_client-agent-telemetry-processor/management-zone/README.md b/BMW-Dynatrace-config/CD_client-agent-telemetry-processor/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_client-agent-telemetry-processor/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_client-agent-telemetry-processor/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_client-agent-telemetry-processor/notification/README.md b/BMW-Dynatrace-config/CD_client-agent-telemetry-processor/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_client-agent-telemetry-processor/notification/README.md +++ b/BMW-Dynatrace-config/CD_client-agent-telemetry-processor/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_client-vehicle-telemetry-processor/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_client-vehicle-telemetry-processor/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_client-vehicle-telemetry-processor/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_client-vehicle-telemetry-processor/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_client-vehicle-telemetry-processor/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_client-vehicle-telemetry-processor/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_client-vehicle-telemetry-processor/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_client-vehicle-telemetry-processor/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_client-vehicle-telemetry-processor/dashboard/README.md b/BMW-Dynatrace-config/CD_client-vehicle-telemetry-processor/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_client-vehicle-telemetry-processor/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_client-vehicle-telemetry-processor/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_client-vehicle-telemetry-processor/management-zone/README.md b/BMW-Dynatrace-config/CD_client-vehicle-telemetry-processor/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_client-vehicle-telemetry-processor/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_client-vehicle-telemetry-processor/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_client-vehicle-telemetry-processor/notification/README.md b/BMW-Dynatrace-config/CD_client-vehicle-telemetry-processor/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_client-vehicle-telemetry-processor/notification/README.md +++ b/BMW-Dynatrace-config/CD_client-vehicle-telemetry-processor/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_cm/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_cm/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_cm/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_cm/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_cm/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_cm/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_cm/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_cm/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_cm/dashboard/README.md b/BMW-Dynatrace-config/CD_cm/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_cm/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_cm/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_cm/management-zone/README.md b/BMW-Dynatrace-config/CD_cm/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_cm/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_cm/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_cm/notification/README.md b/BMW-Dynatrace-config/CD_cm/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_cm/notification/README.md +++ b/BMW-Dynatrace-config/CD_cm/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_commute-notification-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_commute-notification-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_commute-notification-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_commute-notification-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_commute-notification-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_commute-notification-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_commute-notification-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_commute-notification-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_commute-notification-service/dashboard/README.md b/BMW-Dynatrace-config/CD_commute-notification-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_commute-notification-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_commute-notification-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_commute-notification-service/management-zone/README.md b/BMW-Dynatrace-config/CD_commute-notification-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_commute-notification-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_commute-notification-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_commute-notification-service/notification/README.md b/BMW-Dynatrace-config/CD_commute-notification-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_commute-notification-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_commute-notification-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_commute-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_commute-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_commute-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_commute-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_commute-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_commute-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_commute-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_commute-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_commute-service/dashboard/README.md b/BMW-Dynatrace-config/CD_commute-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_commute-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_commute-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_commute-service/management-zone/README.md b/BMW-Dynatrace-config/CD_commute-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_commute-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_commute-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_commute-service/notification/README.md b/BMW-Dynatrace-config/CD_commute-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_commute-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_commute-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_connected-oauth-service-apim/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_connected-oauth-service-apim/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_connected-oauth-service-apim/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_connected-oauth-service-apim/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_connected-oauth-service-apim/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_connected-oauth-service-apim/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_connected-oauth-service-apim/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_connected-oauth-service-apim/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_connected-oauth-service-apim/dashboard/README.md b/BMW-Dynatrace-config/CD_connected-oauth-service-apim/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_connected-oauth-service-apim/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_connected-oauth-service-apim/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_connected-oauth-service-apim/management-zone/README.md b/BMW-Dynatrace-config/CD_connected-oauth-service-apim/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_connected-oauth-service-apim/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_connected-oauth-service-apim/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_connected-oauth-service-apim/notification/README.md b/BMW-Dynatrace-config/CD_connected-oauth-service-apim/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_connected-oauth-service-apim/notification/README.md +++ b/BMW-Dynatrace-config/CD_connected-oauth-service-apim/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_connected-oauth-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_connected-oauth-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_connected-oauth-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_connected-oauth-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_connected-oauth-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_connected-oauth-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_connected-oauth-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_connected-oauth-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_connected-oauth-service/dashboard/README.md b/BMW-Dynatrace-config/CD_connected-oauth-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_connected-oauth-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_connected-oauth-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_connected-oauth-service/management-zone/README.md b/BMW-Dynatrace-config/CD_connected-oauth-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_connected-oauth-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_connected-oauth-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_connected-oauth-service/notification/README.md b/BMW-Dynatrace-config/CD_connected-oauth-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_connected-oauth-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_connected-oauth-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_connected-onboard-composite-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_connected-onboard-composite-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_connected-onboard-composite-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_connected-onboard-composite-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_connected-onboard-composite-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_connected-onboard-composite-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_connected-onboard-composite-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_connected-onboard-composite-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_connected-onboard-composite-service/dashboard/README.md b/BMW-Dynatrace-config/CD_connected-onboard-composite-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_connected-onboard-composite-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_connected-onboard-composite-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_connected-onboard-composite-service/management-zone/README.md b/BMW-Dynatrace-config/CD_connected-onboard-composite-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_connected-onboard-composite-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_connected-onboard-composite-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_connected-onboard-composite-service/notification/README.md b/BMW-Dynatrace-config/CD_connected-onboard-composite-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_connected-onboard-composite-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_connected-onboard-composite-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_csu/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_csu/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_csu/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_csu/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_csu/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_csu/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_csu/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_csu/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_csu/dashboard/README.md b/BMW-Dynatrace-config/CD_csu/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_csu/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_csu/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_csu/management-zone/README.md b/BMW-Dynatrace-config/CD_csu/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_csu/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_csu/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_csu/notification/README.md b/BMW-Dynatrace-config/CD_csu/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_csu/notification/README.md +++ b/BMW-Dynatrace-config/CD_csu/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ctns-event-origin/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ctns-event-origin/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ctns-event-origin/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ctns-event-origin/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ctns-event-origin/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ctns-event-origin/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ctns-event-origin/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ctns-event-origin/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ctns-event-origin/dashboard/README.md b/BMW-Dynatrace-config/CD_ctns-event-origin/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ctns-event-origin/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ctns-event-origin/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ctns-event-origin/management-zone/README.md b/BMW-Dynatrace-config/CD_ctns-event-origin/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ctns-event-origin/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ctns-event-origin/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ctns-event-origin/notification/README.md b/BMW-Dynatrace-config/CD_ctns-event-origin/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ctns-event-origin/notification/README.md +++ b/BMW-Dynatrace-config/CD_ctns-event-origin/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ctns-marketing-api/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ctns-marketing-api/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ctns-marketing-api/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ctns-marketing-api/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ctns-marketing-api/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ctns-marketing-api/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ctns-marketing-api/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ctns-marketing-api/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ctns-marketing-api/dashboard/README.md b/BMW-Dynatrace-config/CD_ctns-marketing-api/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ctns-marketing-api/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ctns-marketing-api/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ctns-marketing-api/management-zone/README.md b/BMW-Dynatrace-config/CD_ctns-marketing-api/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ctns-marketing-api/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ctns-marketing-api/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ctns-marketing-api/notification/README.md b/BMW-Dynatrace-config/CD_ctns-marketing-api/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ctns-marketing-api/notification/README.md +++ b/BMW-Dynatrace-config/CD_ctns-marketing-api/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ctns-vehicle-api/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ctns-vehicle-api/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ctns-vehicle-api/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ctns-vehicle-api/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ctns-vehicle-api/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ctns-vehicle-api/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ctns-vehicle-api/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ctns-vehicle-api/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ctns-vehicle-api/dashboard/README.md b/BMW-Dynatrace-config/CD_ctns-vehicle-api/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ctns-vehicle-api/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ctns-vehicle-api/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ctns-vehicle-api/management-zone/README.md b/BMW-Dynatrace-config/CD_ctns-vehicle-api/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ctns-vehicle-api/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ctns-vehicle-api/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ctns-vehicle-api/notification/README.md b/BMW-Dynatrace-config/CD_ctns-vehicle-api/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ctns-vehicle-api/notification/README.md +++ b/BMW-Dynatrace-config/CD_ctns-vehicle-api/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_current-driver-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_current-driver-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_current-driver-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_current-driver-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_current-driver-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_current-driver-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_current-driver-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_current-driver-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_current-driver-service/dashboard/README.md b/BMW-Dynatrace-config/CD_current-driver-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_current-driver-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_current-driver-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_current-driver-service/management-zone/README.md b/BMW-Dynatrace-config/CD_current-driver-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_current-driver-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_current-driver-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_current-driver-service/notification/README.md b/BMW-Dynatrace-config/CD_current-driver-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_current-driver-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_current-driver-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_data-deletion-processor/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_data-deletion-processor/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_data-deletion-processor/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_data-deletion-processor/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_data-deletion-processor/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_data-deletion-processor/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_data-deletion-processor/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_data-deletion-processor/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_data-deletion-processor/dashboard/README.md b/BMW-Dynatrace-config/CD_data-deletion-processor/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_data-deletion-processor/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_data-deletion-processor/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_data-deletion-processor/management-zone/README.md b/BMW-Dynatrace-config/CD_data-deletion-processor/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_data-deletion-processor/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_data-deletion-processor/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_data-deletion-processor/notification/README.md b/BMW-Dynatrace-config/CD_data-deletion-processor/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_data-deletion-processor/notification/README.md +++ b/BMW-Dynatrace-config/CD_data-deletion-processor/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_dealer-comms-provider-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_dealer-comms-provider-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_dealer-comms-provider-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_dealer-comms-provider-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_dealer-comms-provider-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_dealer-comms-provider-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_dealer-comms-provider-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_dealer-comms-provider-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_dealer-comms-provider-service/dashboard/README.md b/BMW-Dynatrace-config/CD_dealer-comms-provider-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_dealer-comms-provider-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_dealer-comms-provider-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_dealer-comms-provider-service/management-zone/README.md b/BMW-Dynatrace-config/CD_dealer-comms-provider-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_dealer-comms-provider-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_dealer-comms-provider-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_dealer-comms-provider-service/notification/README.md b/BMW-Dynatrace-config/CD_dealer-comms-provider-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_dealer-comms-provider-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_dealer-comms-provider-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_dealer-data-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_dealer-data-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_dealer-data-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_dealer-data-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_dealer-data-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_dealer-data-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_dealer-data-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_dealer-data-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_dealer-data-service/dashboard/README.md b/BMW-Dynatrace-config/CD_dealer-data-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_dealer-data-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_dealer-data-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_dealer-data-service/management-zone/README.md b/BMW-Dynatrace-config/CD_dealer-data-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_dealer-data-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_dealer-data-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_dealer-data-service/notification/README.md b/BMW-Dynatrace-config/CD_dealer-data-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_dealer-data-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_dealer-data-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_dealer-payments-invoice-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_dealer-payments-invoice-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_dealer-payments-invoice-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_dealer-payments-invoice-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_dealer-payments-invoice-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_dealer-payments-invoice-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_dealer-payments-invoice-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_dealer-payments-invoice-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_dealer-payments-invoice-service/dashboard/README.md b/BMW-Dynatrace-config/CD_dealer-payments-invoice-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_dealer-payments-invoice-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_dealer-payments-invoice-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_dealer-payments-invoice-service/management-zone/README.md b/BMW-Dynatrace-config/CD_dealer-payments-invoice-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_dealer-payments-invoice-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_dealer-payments-invoice-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_dealer-payments-invoice-service/notification/README.md b/BMW-Dynatrace-config/CD_dealer-payments-invoice-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_dealer-payments-invoice-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_dealer-payments-invoice-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_dealer-payments-notification-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_dealer-payments-notification-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_dealer-payments-notification-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_dealer-payments-notification-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_dealer-payments-notification-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_dealer-payments-notification-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_dealer-payments-notification-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_dealer-payments-notification-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_dealer-payments-notification-service/dashboard/README.md b/BMW-Dynatrace-config/CD_dealer-payments-notification-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_dealer-payments-notification-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_dealer-payments-notification-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_dealer-payments-notification-service/management-zone/README.md b/BMW-Dynatrace-config/CD_dealer-payments-notification-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_dealer-payments-notification-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_dealer-payments-notification-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_dealer-payments-notification-service/notification/README.md b/BMW-Dynatrace-config/CD_dealer-payments-notification-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_dealer-payments-notification-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_dealer-payments-notification-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_dealer-payments-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_dealer-payments-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_dealer-payments-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_dealer-payments-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_dealer-payments-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_dealer-payments-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_dealer-payments-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_dealer-payments-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_dealer-payments-service/dashboard/README.md b/BMW-Dynatrace-config/CD_dealer-payments-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_dealer-payments-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_dealer-payments-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_dealer-payments-service/management-zone/README.md b/BMW-Dynatrace-config/CD_dealer-payments-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_dealer-payments-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_dealer-payments-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_dealer-payments-service/notification/README.md b/BMW-Dynatrace-config/CD_dealer-payments-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_dealer-payments-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_dealer-payments-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_dealer-search-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_dealer-search-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_dealer-search-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_dealer-search-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_dealer-search-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_dealer-search-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_dealer-search-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_dealer-search-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_dealer-search-service/dashboard/README.md b/BMW-Dynatrace-config/CD_dealer-search-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_dealer-search-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_dealer-search-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_dealer-search-service/management-zone/README.md b/BMW-Dynatrace-config/CD_dealer-search-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_dealer-search-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_dealer-search-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_dealer-search-service/notification/README.md b/BMW-Dynatrace-config/CD_dealer-search-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_dealer-search-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_dealer-search-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_dealer-services-composite-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_dealer-services-composite-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_dealer-services-composite-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_dealer-services-composite-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_dealer-services-composite-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_dealer-services-composite-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_dealer-services-composite-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_dealer-services-composite-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_dealer-services-composite-service/dashboard/README.md b/BMW-Dynatrace-config/CD_dealer-services-composite-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_dealer-services-composite-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_dealer-services-composite-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_dealer-services-composite-service/management-zone/README.md b/BMW-Dynatrace-config/CD_dealer-services-composite-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_dealer-services-composite-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_dealer-services-composite-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_dealer-services-composite-service/notification/README.md b/BMW-Dynatrace-config/CD_dealer-services-composite-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_dealer-services-composite-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_dealer-services-composite-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_dealercockpit/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_dealercockpit/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_dealercockpit/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_dealercockpit/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_dealercockpit/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_dealercockpit/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_dealercockpit/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_dealercockpit/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_dealercockpit/dashboard/README.md b/BMW-Dynatrace-config/CD_dealercockpit/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_dealercockpit/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_dealercockpit/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_dealercockpit/management-zone/README.md b/BMW-Dynatrace-config/CD_dealercockpit/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_dealercockpit/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_dealercockpit/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_dealercockpit/notification/README.md b/BMW-Dynatrace-config/CD_dealercockpit/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_dealercockpit/notification/README.md +++ b/BMW-Dynatrace-config/CD_dealercockpit/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_delivery/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_delivery/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_delivery/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_delivery/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_delivery/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_delivery/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_delivery/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_delivery/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_delivery/dashboard/README.md b/BMW-Dynatrace-config/CD_delivery/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_delivery/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_delivery/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_delivery/management-zone/README.md b/BMW-Dynatrace-config/CD_delivery/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_delivery/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_delivery/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_delivery/notification/README.md b/BMW-Dynatrace-config/CD_delivery/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_delivery/notification/README.md +++ b/BMW-Dynatrace-config/CD_delivery/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_destination-composite-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_destination-composite-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_destination-composite-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_destination-composite-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_destination-composite-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_destination-composite-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_destination-composite-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_destination-composite-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_destination-composite-service/dashboard/README.md b/BMW-Dynatrace-config/CD_destination-composite-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_destination-composite-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_destination-composite-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_destination-composite-service/management-zone/README.md b/BMW-Dynatrace-config/CD_destination-composite-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_destination-composite-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_destination-composite-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_destination-composite-service/notification/README.md b/BMW-Dynatrace-config/CD_destination-composite-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_destination-composite-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_destination-composite-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_digital-key-composite-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_digital-key-composite-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_digital-key-composite-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_digital-key-composite-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_digital-key-composite-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_digital-key-composite-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_digital-key-composite-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_digital-key-composite-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_digital-key-composite-service/dashboard/README.md b/BMW-Dynatrace-config/CD_digital-key-composite-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_digital-key-composite-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_digital-key-composite-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_digital-key-composite-service/management-zone/README.md b/BMW-Dynatrace-config/CD_digital-key-composite-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_digital-key-composite-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_digital-key-composite-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_digital-key-composite-service/notification/README.md b/BMW-Dynatrace-config/CD_digital-key-composite-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_digital-key-composite-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_digital-key-composite-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_discover-bmw-composite-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_discover-bmw-composite-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_discover-bmw-composite-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_discover-bmw-composite-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_discover-bmw-composite-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_discover-bmw-composite-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_discover-bmw-composite-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_discover-bmw-composite-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_discover-bmw-composite-service/dashboard/README.md b/BMW-Dynatrace-config/CD_discover-bmw-composite-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_discover-bmw-composite-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_discover-bmw-composite-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_discover-bmw-composite-service/management-zone/README.md b/BMW-Dynatrace-config/CD_discover-bmw-composite-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_discover-bmw-composite-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_discover-bmw-composite-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_discover-bmw-composite-service/notification/README.md b/BMW-Dynatrace-config/CD_discover-bmw-composite-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_discover-bmw-composite-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_discover-bmw-composite-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_dsd/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_dsd/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_dsd/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_dsd/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_dsd/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_dsd/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_dsd/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_dsd/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_dsd/dashboard/README.md b/BMW-Dynatrace-config/CD_dsd/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_dsd/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_dsd/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_dsd/management-zone/README.md b/BMW-Dynatrace-config/CD_dsd/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_dsd/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_dsd/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_dsd/notification/README.md b/BMW-Dynatrace-config/CD_dsd/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_dsd/notification/README.md +++ b/BMW-Dynatrace-config/CD_dsd/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_eadb/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_eadb/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_eadb/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_eadb/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_eadb/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_eadb/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_eadb/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_eadb/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_eadb/dashboard/README.md b/BMW-Dynatrace-config/CD_eadb/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_eadb/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_eadb/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_eadb/management-zone/README.md b/BMW-Dynatrace-config/CD_eadb/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_eadb/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_eadb/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_eadb/notification/README.md b/BMW-Dynatrace-config/CD_eadb/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_eadb/notification/README.md +++ b/BMW-Dynatrace-config/CD_eadb/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ercaf/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ercaf/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ercaf/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ercaf/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ercaf/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ercaf/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ercaf/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ercaf/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ercaf/dashboard/README.md b/BMW-Dynatrace-config/CD_ercaf/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ercaf/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ercaf/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ercaf/management-zone/README.md b/BMW-Dynatrace-config/CD_ercaf/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ercaf/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ercaf/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ercaf/notification/README.md b/BMW-Dynatrace-config/CD_ercaf/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ercaf/notification/README.md +++ b/BMW-Dynatrace-config/CD_ercaf/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ercr/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ercr/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ercr/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ercr/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ercr/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ercr/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ercr/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ercr/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ercr/dashboard/README.md b/BMW-Dynatrace-config/CD_ercr/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ercr/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ercr/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ercr/management-zone/README.md b/BMW-Dynatrace-config/CD_ercr/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ercr/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ercr/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ercr/notification/README.md b/BMW-Dynatrace-config/CD_ercr/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ercr/notification/README.md +++ b/BMW-Dynatrace-config/CD_ercr/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_erd/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_erd/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_erd/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_erd/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_erd/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_erd/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_erd/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_erd/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_erd/dashboard/README.md b/BMW-Dynatrace-config/CD_erd/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_erd/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_erd/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_erd/management-zone/README.md b/BMW-Dynatrace-config/CD_erd/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_erd/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_erd/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_erd/notification/README.md b/BMW-Dynatrace-config/CD_erd/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_erd/notification/README.md +++ b/BMW-Dynatrace-config/CD_erd/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_esh/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_esh/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_esh/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_esh/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_esh/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_esh/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_esh/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_esh/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_esh/dashboard/README.md b/BMW-Dynatrace-config/CD_esh/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_esh/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_esh/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_esh/management-zone/README.md b/BMW-Dynatrace-config/CD_esh/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_esh/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_esh/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_esh/notification/README.md b/BMW-Dynatrace-config/CD_esh/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_esh/notification/README.md +++ b/BMW-Dynatrace-config/CD_esh/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_esim-composite-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_esim-composite-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_esim-composite-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_esim-composite-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_esim-composite-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_esim-composite-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_esim-composite-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_esim-composite-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_esim-composite-service/dashboard/README.md b/BMW-Dynatrace-config/CD_esim-composite-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_esim-composite-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_esim-composite-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_esim-composite-service/management-zone/README.md b/BMW-Dynatrace-config/CD_esim-composite-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_esim-composite-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_esim-composite-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_esim-composite-service/notification/README.md b/BMW-Dynatrace-config/CD_esim-composite-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_esim-composite-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_esim-composite-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_explore-composite-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_explore-composite-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_explore-composite-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_explore-composite-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_explore-composite-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_explore-composite-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_explore-composite-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_explore-composite-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_explore-composite-service/dashboard/README.md b/BMW-Dynatrace-config/CD_explore-composite-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_explore-composite-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_explore-composite-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_explore-composite-service/management-zone/README.md b/BMW-Dynatrace-config/CD_explore-composite-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_explore-composite-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_explore-composite-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_explore-composite-service/notification/README.md b/BMW-Dynatrace-config/CD_explore-composite-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_explore-composite-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_explore-composite-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_feature-toggles-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_feature-toggles-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_feature-toggles-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_feature-toggles-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_feature-toggles-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_feature-toggles-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_feature-toggles-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_feature-toggles-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_feature-toggles-service/dashboard/README.md b/BMW-Dynatrace-config/CD_feature-toggles-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_feature-toggles-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_feature-toggles-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_feature-toggles-service/management-zone/README.md b/BMW-Dynatrace-config/CD_feature-toggles-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_feature-toggles-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_feature-toggles-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_feature-toggles-service/notification/README.md b/BMW-Dynatrace-config/CD_feature-toggles-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_feature-toggles-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_feature-toggles-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_fmc/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_fmc/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_fmc/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_fmc/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_fmc/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_fmc/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_fmc/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_fmc/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_fmc/dashboard/README.md b/BMW-Dynatrace-config/CD_fmc/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_fmc/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_fmc/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_fmc/management-zone/README.md b/BMW-Dynatrace-config/CD_fmc/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_fmc/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_fmc/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_fmc/notification/README.md b/BMW-Dynatrace-config/CD_fmc/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_fmc/notification/README.md +++ b/BMW-Dynatrace-config/CD_fmc/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_fuel-search-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_fuel-search-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_fuel-search-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_fuel-search-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_fuel-search-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_fuel-search-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_fuel-search-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_fuel-search-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_fuel-search-service/dashboard/README.md b/BMW-Dynatrace-config/CD_fuel-search-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_fuel-search-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_fuel-search-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_fuel-search-service/management-zone/README.md b/BMW-Dynatrace-config/CD_fuel-search-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_fuel-search-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_fuel-search-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_fuel-search-service/notification/README.md b/BMW-Dynatrace-config/CD_fuel-search-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_fuel-search-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_fuel-search-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_hpauth/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_hpauth/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_hpauth/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_hpauth/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_hpauth/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_hpauth/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_hpauth/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_hpauth/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_hpauth/dashboard/README.md b/BMW-Dynatrace-config/CD_hpauth/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_hpauth/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_hpauth/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_hpauth/management-zone/README.md b/BMW-Dynatrace-config/CD_hpauth/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_hpauth/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_hpauth/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_hpauth/notification/README.md b/BMW-Dynatrace-config/CD_hpauth/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_hpauth/notification/README.md +++ b/BMW-Dynatrace-config/CD_hpauth/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_hubtab-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_hubtab-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_hubtab-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_hubtab-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_hubtab-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_hubtab-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_hubtab-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_hubtab-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_hubtab-service/dashboard/README.md b/BMW-Dynatrace-config/CD_hubtab-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_hubtab-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_hubtab-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_hubtab-service/management-zone/README.md b/BMW-Dynatrace-config/CD_hubtab-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_hubtab-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_hubtab-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_hubtab-service/notification/README.md b/BMW-Dynatrace-config/CD_hubtab-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_hubtab-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_hubtab-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_id-lookup-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_id-lookup-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_id-lookup-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_id-lookup-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_id-lookup-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_id-lookup-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_id-lookup-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_id-lookup-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_id-lookup-service/dashboard/README.md b/BMW-Dynatrace-config/CD_id-lookup-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_id-lookup-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_id-lookup-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_id-lookup-service/management-zone/README.md b/BMW-Dynatrace-config/CD_id-lookup-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_id-lookup-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_id-lookup-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_id-lookup-service/notification/README.md b/BMW-Dynatrace-config/CD_id-lookup-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_id-lookup-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_id-lookup-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ids-admin/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ids-admin/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ids-admin/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ids-admin/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ids-admin/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ids-admin/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ids-admin/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ids-admin/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ids-admin/dashboard/README.md b/BMW-Dynatrace-config/CD_ids-admin/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ids-admin/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ids-admin/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ids-admin/management-zone/README.md b/BMW-Dynatrace-config/CD_ids-admin/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ids-admin/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ids-admin/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ids-admin/notification/README.md b/BMW-Dynatrace-config/CD_ids-admin/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ids-admin/notification/README.md +++ b/BMW-Dynatrace-config/CD_ids-admin/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ids-svds/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ids-svds/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ids-svds/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ids-svds/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ids-svds/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ids-svds/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ids-svds/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ids-svds/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ids-svds/dashboard/README.md b/BMW-Dynatrace-config/CD_ids-svds/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ids-svds/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ids-svds/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ids-svds/management-zone/README.md b/BMW-Dynatrace-config/CD_ids-svds/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ids-svds/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ids-svds/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ids-svds/notification/README.md b/BMW-Dynatrace-config/CD_ids-svds/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ids-svds/notification/README.md +++ b/BMW-Dynatrace-config/CD_ids-svds/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ids-sync/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ids-sync/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ids-sync/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ids-sync/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ids-sync/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ids-sync/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ids-sync/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ids-sync/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ids-sync/dashboard/README.md b/BMW-Dynatrace-config/CD_ids-sync/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ids-sync/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ids-sync/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ids-sync/management-zone/README.md b/BMW-Dynatrace-config/CD_ids-sync/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ids-sync/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ids-sync/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ids-sync/notification/README.md b/BMW-Dynatrace-config/CD_ids-sync/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ids-sync/notification/README.md +++ b/BMW-Dynatrace-config/CD_ids-sync/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ids-ws/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ids-ws/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ids-ws/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ids-ws/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ids-ws/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ids-ws/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ids-ws/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ids-ws/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ids-ws/dashboard/README.md b/BMW-Dynatrace-config/CD_ids-ws/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ids-ws/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ids-ws/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ids-ws/management-zone/README.md b/BMW-Dynatrace-config/CD_ids-ws/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ids-ws/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ids-ws/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ids-ws/notification/README.md b/BMW-Dynatrace-config/CD_ids-ws/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ids-ws/notification/README.md +++ b/BMW-Dynatrace-config/CD_ids-ws/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_image-composite-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_image-composite-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_image-composite-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_image-composite-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_image-composite-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_image-composite-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_image-composite-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_image-composite-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_image-composite-service/dashboard/README.md b/BMW-Dynatrace-config/CD_image-composite-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_image-composite-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_image-composite-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_image-composite-service/management-zone/README.md b/BMW-Dynatrace-config/CD_image-composite-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_image-composite-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_image-composite-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_image-composite-service/notification/README.md b/BMW-Dynatrace-config/CD_image-composite-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_image-composite-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_image-composite-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_imiles-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_imiles-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_imiles-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_imiles-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_imiles-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_imiles-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_imiles-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_imiles-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_imiles-service/dashboard/README.md b/BMW-Dynatrace-config/CD_imiles-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_imiles-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_imiles-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_imiles-service/management-zone/README.md b/BMW-Dynatrace-config/CD_imiles-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_imiles-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_imiles-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_imiles-service/notification/README.md b/BMW-Dynatrace-config/CD_imiles-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_imiles-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_imiles-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ipa-gateway/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ipa-gateway/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ipa-gateway/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ipa-gateway/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ipa-gateway/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ipa-gateway/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ipa-gateway/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ipa-gateway/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ipa-gateway/dashboard/README.md b/BMW-Dynatrace-config/CD_ipa-gateway/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ipa-gateway/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ipa-gateway/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ipa-gateway/management-zone/README.md b/BMW-Dynatrace-config/CD_ipa-gateway/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ipa-gateway/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ipa-gateway/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ipa-gateway/notification/README.md b/BMW-Dynatrace-config/CD_ipa-gateway/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ipa-gateway/notification/README.md +++ b/BMW-Dynatrace-config/CD_ipa-gateway/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_jdssp21/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_jdssp21/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_jdssp21/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_jdssp21/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_jdssp21/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_jdssp21/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_jdssp21/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_jdssp21/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_jdssp21/dashboard/README.md b/BMW-Dynatrace-config/CD_jdssp21/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_jdssp21/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_jdssp21/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_jdssp21/management-zone/README.md b/BMW-Dynatrace-config/CD_jdssp21/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_jdssp21/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_jdssp21/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_jdssp21/notification/README.md b/BMW-Dynatrace-config/CD_jdssp21/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_jdssp21/notification/README.md +++ b/BMW-Dynatrace-config/CD_jdssp21/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_legacy-deletion-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_legacy-deletion-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_legacy-deletion-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_legacy-deletion-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_legacy-deletion-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_legacy-deletion-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_legacy-deletion-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_legacy-deletion-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_legacy-deletion-service/dashboard/README.md b/BMW-Dynatrace-config/CD_legacy-deletion-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_legacy-deletion-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_legacy-deletion-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_legacy-deletion-service/management-zone/README.md b/BMW-Dynatrace-config/CD_legacy-deletion-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_legacy-deletion-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_legacy-deletion-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_legacy-deletion-service/notification/README.md b/BMW-Dynatrace-config/CD_legacy-deletion-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_legacy-deletion-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_legacy-deletion-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_legacy-sar-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_legacy-sar-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_legacy-sar-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_legacy-sar-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_legacy-sar-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_legacy-sar-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_legacy-sar-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_legacy-sar-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_legacy-sar-service/dashboard/README.md b/BMW-Dynatrace-config/CD_legacy-sar-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_legacy-sar-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_legacy-sar-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_legacy-sar-service/management-zone/README.md b/BMW-Dynatrace-config/CD_legacy-sar-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_legacy-sar-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_legacy-sar-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_legacy-sar-service/notification/README.md b/BMW-Dynatrace-config/CD_legacy-sar-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_legacy-sar-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_legacy-sar-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_legal-document-composite-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_legal-document-composite-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_legal-document-composite-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_legal-document-composite-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_legal-document-composite-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_legal-document-composite-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_legal-document-composite-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_legal-document-composite-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_legal-document-composite-service/dashboard/README.md b/BMW-Dynatrace-config/CD_legal-document-composite-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_legal-document-composite-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_legal-document-composite-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_legal-document-composite-service/management-zone/README.md b/BMW-Dynatrace-config/CD_legal-document-composite-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_legal-document-composite-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_legal-document-composite-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_legal-document-composite-service/notification/README.md b/BMW-Dynatrace-config/CD_legal-document-composite-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_legal-document-composite-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_legal-document-composite-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_log-data-deletion-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_log-data-deletion-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_log-data-deletion-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_log-data-deletion-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_log-data-deletion-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_log-data-deletion-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_log-data-deletion-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_log-data-deletion-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_log-data-deletion-service/dashboard/README.md b/BMW-Dynatrace-config/CD_log-data-deletion-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_log-data-deletion-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_log-data-deletion-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_log-data-deletion-service/management-zone/README.md b/BMW-Dynatrace-config/CD_log-data-deletion-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_log-data-deletion-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_log-data-deletion-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_log-data-deletion-service/notification/README.md b/BMW-Dynatrace-config/CD_log-data-deletion-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_log-data-deletion-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_log-data-deletion-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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-kc/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_lsc-kc/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_lsc-kc/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_lsc-kc/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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-kc/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_lsc-kc/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_lsc-kc/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_lsc-kc/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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-kc/dashboard/README.md b/BMW-Dynatrace-config/CD_lsc-kc/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_lsc-kc/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_lsc-kc/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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-kc/management-zone/README.md b/BMW-Dynatrace-config/CD_lsc-kc/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_lsc-kc/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_lsc-kc/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_lsc-kc/notification/README.md b/BMW-Dynatrace-config/CD_lsc-kc/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_lsc-kc/notification/README.md +++ b/BMW-Dynatrace-config/CD_lsc-kc/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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-mm/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_lsc-mm/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_lsc-mm/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_lsc-mm/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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-mm/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_lsc-mm/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_lsc-mm/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_lsc-mm/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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-mm/dashboard/README.md b/BMW-Dynatrace-config/CD_lsc-mm/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_lsc-mm/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_lsc-mm/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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-mm/management-zone/README.md b/BMW-Dynatrace-config/CD_lsc-mm/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_lsc-mm/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_lsc-mm/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_lsc-mm/notification/README.md b/BMW-Dynatrace-config/CD_lsc-mm/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_lsc-mm/notification/README.md +++ b/BMW-Dynatrace-config/CD_lsc-mm/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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-oc/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_lsc-oc/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_lsc-oc/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_lsc-oc/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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-oc/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_lsc-oc/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_lsc-oc/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_lsc-oc/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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-oc/dashboard/README.md b/BMW-Dynatrace-config/CD_lsc-oc/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_lsc-oc/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_lsc-oc/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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-oc/management-zone/README.md b/BMW-Dynatrace-config/CD_lsc-oc/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_lsc-oc/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_lsc-oc/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_lsc-oc/notification/README.md b/BMW-Dynatrace-config/CD_lsc-oc/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_lsc-oc/notification/README.md +++ b/BMW-Dynatrace-config/CD_lsc-oc/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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-og/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_lsc-og/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_lsc-og/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_lsc-og/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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-og/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_lsc-og/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_lsc-og/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_lsc-og/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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-og/dashboard/README.md b/BMW-Dynatrace-config/CD_lsc-og/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_lsc-og/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_lsc-og/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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-og/management-zone/README.md b/BMW-Dynatrace-config/CD_lsc-og/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_lsc-og/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_lsc-og/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_lsc-og/notification/README.md b/BMW-Dynatrace-config/CD_lsc-og/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_lsc-og/notification/README.md +++ b/BMW-Dynatrace-config/CD_lsc-og/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_mds/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_mds/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_mds/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_mds/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_mds/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_mds/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_mds/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_mds/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_mds/dashboard/README.md b/BMW-Dynatrace-config/CD_mds/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_mds/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_mds/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_mds/management-zone/README.md b/BMW-Dynatrace-config/CD_mds/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_mds/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_mds/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_mds/notification/README.md b/BMW-Dynatrace-config/CD_mds/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_mds/notification/README.md +++ b/BMW-Dynatrace-config/CD_mds/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ml-ingestion-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ml-ingestion-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ml-ingestion-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ml-ingestion-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ml-ingestion-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ml-ingestion-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ml-ingestion-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ml-ingestion-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ml-ingestion-service/dashboard/README.md b/BMW-Dynatrace-config/CD_ml-ingestion-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ml-ingestion-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ml-ingestion-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ml-ingestion-service/management-zone/README.md b/BMW-Dynatrace-config/CD_ml-ingestion-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ml-ingestion-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ml-ingestion-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ml-ingestion-service/notification/README.md b/BMW-Dynatrace-config/CD_ml-ingestion-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ml-ingestion-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_ml-ingestion-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_mlc/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_mlc/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_mlc/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_mlc/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_mlc/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_mlc/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_mlc/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_mlc/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_mlc/dashboard/README.md b/BMW-Dynatrace-config/CD_mlc/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_mlc/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_mlc/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_mlc/management-zone/README.md b/BMW-Dynatrace-config/CD_mlc/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_mlc/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_mlc/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_mlc/notification/README.md b/BMW-Dynatrace-config/CD_mlc/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_mlc/notification/README.md +++ b/BMW-Dynatrace-config/CD_mlc/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_mrp/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_mrp/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_mrp/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_mrp/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_mrp/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_mrp/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_mrp/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_mrp/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_mrp/dashboard/README.md b/BMW-Dynatrace-config/CD_mrp/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_mrp/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_mrp/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_mrp/management-zone/README.md b/BMW-Dynatrace-config/CD_mrp/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_mrp/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_mrp/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_mrp/notification/README.md b/BMW-Dynatrace-config/CD_mrp/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_mrp/notification/README.md +++ b/BMW-Dynatrace-config/CD_mrp/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_mrpspringboot/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_mrpspringboot/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_mrpspringboot/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_mrpspringboot/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_mrpspringboot/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_mrpspringboot/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_mrpspringboot/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_mrpspringboot/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_mrpspringboot/dashboard/README.md b/BMW-Dynatrace-config/CD_mrpspringboot/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_mrpspringboot/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_mrpspringboot/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_mrpspringboot/management-zone/README.md b/BMW-Dynatrace-config/CD_mrpspringboot/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_mrpspringboot/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_mrpspringboot/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_mrpspringboot/notification/README.md b/BMW-Dynatrace-config/CD_mrpspringboot/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_mrpspringboot/notification/README.md +++ b/BMW-Dynatrace-config/CD_mrpspringboot/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_nop-admin/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_nop-admin/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_nop-admin/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_nop-admin/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_nop-admin/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_nop-admin/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_nop-admin/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_nop-admin/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_nop-admin/dashboard/README.md b/BMW-Dynatrace-config/CD_nop-admin/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_nop-admin/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_nop-admin/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_nop-admin/management-zone/README.md b/BMW-Dynatrace-config/CD_nop-admin/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_nop-admin/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_nop-admin/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_nop-admin/notification/README.md b/BMW-Dynatrace-config/CD_nop-admin/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_nop-admin/notification/README.md +++ b/BMW-Dynatrace-config/CD_nop-admin/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_nop-archive/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_nop-archive/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_nop-archive/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_nop-archive/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_nop-archive/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_nop-archive/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_nop-archive/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_nop-archive/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_nop-archive/dashboard/README.md b/BMW-Dynatrace-config/CD_nop-archive/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_nop-archive/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_nop-archive/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_nop-archive/management-zone/README.md b/BMW-Dynatrace-config/CD_nop-archive/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_nop-archive/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_nop-archive/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_nop-archive/notification/README.md b/BMW-Dynatrace-config/CD_nop-archive/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_nop-archive/notification/README.md +++ b/BMW-Dynatrace-config/CD_nop-archive/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_nop-provisioning/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_nop-provisioning/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_nop-provisioning/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_nop-provisioning/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_nop-provisioning/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_nop-provisioning/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_nop-provisioning/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_nop-provisioning/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_nop-provisioning/dashboard/README.md b/BMW-Dynatrace-config/CD_nop-provisioning/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_nop-provisioning/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_nop-provisioning/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_nop-provisioning/management-zone/README.md b/BMW-Dynatrace-config/CD_nop-provisioning/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_nop-provisioning/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_nop-provisioning/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_nop-provisioning/notification/README.md b/BMW-Dynatrace-config/CD_nop-provisioning/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_nop-provisioning/notification/README.md +++ b/BMW-Dynatrace-config/CD_nop-provisioning/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_nop-trigger/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_nop-trigger/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_nop-trigger/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_nop-trigger/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_nop-trigger/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_nop-trigger/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_nop-trigger/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_nop-trigger/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_nop-trigger/dashboard/README.md b/BMW-Dynatrace-config/CD_nop-trigger/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_nop-trigger/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_nop-trigger/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_nop-trigger/management-zone/README.md b/BMW-Dynatrace-config/CD_nop-trigger/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_nop-trigger/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_nop-trigger/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_nop-trigger/notification/README.md b/BMW-Dynatrace-config/CD_nop-trigger/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_nop-trigger/notification/README.md +++ b/BMW-Dynatrace-config/CD_nop-trigger/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_notification-composite-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_notification-composite-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_notification-composite-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_notification-composite-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_notification-composite-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_notification-composite-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_notification-composite-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_notification-composite-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_notification-composite-service/dashboard/README.md b/BMW-Dynatrace-config/CD_notification-composite-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_notification-composite-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_notification-composite-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_notification-composite-service/management-zone/README.md b/BMW-Dynatrace-config/CD_notification-composite-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_notification-composite-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_notification-composite-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_notification-composite-service/notification/README.md b/BMW-Dynatrace-config/CD_notification-composite-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_notification-composite-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_notification-composite-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_notification-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_notification-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_notification-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_notification-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_notification-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_notification-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_notification-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_notification-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_notification-service/dashboard/README.md b/BMW-Dynatrace-config/CD_notification-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_notification-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_notification-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_notification-service/management-zone/README.md b/BMW-Dynatrace-config/CD_notification-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_notification-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_notification-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_notification-service/notification/README.md b/BMW-Dynatrace-config/CD_notification-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_notification-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_notification-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_oas-composite-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_oas-composite-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_oas-composite-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_oas-composite-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_oas-composite-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_oas-composite-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_oas-composite-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_oas-composite-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_oas-composite-service/dashboard/README.md b/BMW-Dynatrace-config/CD_oas-composite-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_oas-composite-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_oas-composite-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_oas-composite-service/management-zone/README.md b/BMW-Dynatrace-config/CD_oas-composite-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_oas-composite-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_oas-composite-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_oas-composite-service/notification/README.md b/BMW-Dynatrace-config/CD_oas-composite-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_oas-composite-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_oas-composite-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_oclisc2v/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_oclisc2v/dashboard/README.md b/BMW-Dynatrace-config/CD_oclisc2v/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_oclisc2v/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_oclisc2v/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_oclisc2v/management-zone/README.md b/BMW-Dynatrace-config/CD_oclisc2v/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_oclisc2v/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_oclisc2v/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_oclisc2v/notification/README.md b/BMW-Dynatrace-config/CD_oclisc2v/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_oclisc2v/notification/README.md +++ b/BMW-Dynatrace-config/CD_oclisc2v/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_oclisocsp/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_oclisocsp/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_oclisocsp/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_oclisocsp/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_oclisocsp/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_oclisocsp/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_oclisocsp/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_oclisocsp/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_oclisocsp/dashboard/README.md b/BMW-Dynatrace-config/CD_oclisocsp/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_oclisocsp/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_oclisocsp/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_oclisocsp/management-zone/README.md b/BMW-Dynatrace-config/CD_oclisocsp/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_oclisocsp/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_oclisocsp/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_oclisocsp/notification/README.md b/BMW-Dynatrace-config/CD_oclisocsp/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_oclisocsp/notification/README.md +++ b/BMW-Dynatrace-config/CD_oclisocsp/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_omc-cd-services/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_omc-cd-services/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_omc-cd-services/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_omc-cd-services/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_omc-cd-services/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_omc-cd-services/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_omc-cd-services/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_omc-cd-services/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_omc-cd-services/dashboard/README.md b/BMW-Dynatrace-config/CD_omc-cd-services/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_omc-cd-services/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_omc-cd-services/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_omc-cd-services/management-zone/README.md b/BMW-Dynatrace-config/CD_omc-cd-services/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_omc-cd-services/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_omc-cd-services/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_omc-cd-services/notification/README.md b/BMW-Dynatrace-config/CD_omc-cd-services/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_omc-cd-services/notification/README.md +++ b/BMW-Dynatrace-config/CD_omc-cd-services/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_omg/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_omg/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_omg/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_omg/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_omg/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_omg/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_omg/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_omg/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_omg/dashboard/README.md b/BMW-Dynatrace-config/CD_omg/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_omg/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_omg/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_omg/management-zone/README.md b/BMW-Dynatrace-config/CD_omg/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_omg/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_omg/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_omg/notification/README.md b/BMW-Dynatrace-config/CD_omg/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_omg/notification/README.md +++ b/BMW-Dynatrace-config/CD_omg/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_onboard-navigation-sync-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_onboard-navigation-sync-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_onboard-navigation-sync-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_onboard-navigation-sync-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_onboard-navigation-sync-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_onboard-navigation-sync-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_onboard-navigation-sync-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_onboard-navigation-sync-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_onboard-navigation-sync-service/dashboard/README.md b/BMW-Dynatrace-config/CD_onboard-navigation-sync-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_onboard-navigation-sync-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_onboard-navigation-sync-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_onboard-navigation-sync-service/management-zone/README.md b/BMW-Dynatrace-config/CD_onboard-navigation-sync-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_onboard-navigation-sync-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_onboard-navigation-sync-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_onboard-navigation-sync-service/notification/README.md b/BMW-Dynatrace-config/CD_onboard-navigation-sync-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_onboard-navigation-sync-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_onboard-navigation-sync-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_online-appointment-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_online-appointment-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_online-appointment-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_online-appointment-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_online-appointment-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_online-appointment-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_online-appointment-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_online-appointment-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_online-appointment-service/dashboard/README.md b/BMW-Dynatrace-config/CD_online-appointment-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_online-appointment-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_online-appointment-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_online-appointment-service/management-zone/README.md b/BMW-Dynatrace-config/CD_online-appointment-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_online-appointment-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_online-appointment-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_online-appointment-service/notification/README.md b/BMW-Dynatrace-config/CD_online-appointment-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_online-appointment-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_online-appointment-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_online-entertainment/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_online-entertainment/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_online-entertainment/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_online-entertainment/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_online-entertainment/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_online-entertainment/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_online-entertainment/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_online-entertainment/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_online-entertainment/dashboard/README.md b/BMW-Dynatrace-config/CD_online-entertainment/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_online-entertainment/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_online-entertainment/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_online-entertainment/management-zone/README.md b/BMW-Dynatrace-config/CD_online-entertainment/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_online-entertainment/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_online-entertainment/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_online-entertainment/notification/README.md b/BMW-Dynatrace-config/CD_online-entertainment/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_online-entertainment/notification/README.md +++ b/BMW-Dynatrace-config/CD_online-entertainment/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_pdmmanager/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_pdmmanager/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_pdmmanager/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_pdmmanager/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_pdmmanager/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_pdmmanager/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_pdmmanager/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_pdmmanager/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_pdmmanager/dashboard/README.md b/BMW-Dynatrace-config/CD_pdmmanager/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_pdmmanager/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_pdmmanager/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_pdmmanager/management-zone/README.md b/BMW-Dynatrace-config/CD_pdmmanager/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_pdmmanager/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_pdmmanager/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_pdmmanager/notification/README.md b/BMW-Dynatrace-config/CD_pdmmanager/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_pdmmanager/notification/README.md +++ b/BMW-Dynatrace-config/CD_pdmmanager/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_personal-data-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_personal-data-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_personal-data-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_personal-data-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_personal-data-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_personal-data-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_personal-data-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_personal-data-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_personal-data-service/dashboard/README.md b/BMW-Dynatrace-config/CD_personal-data-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_personal-data-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_personal-data-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_personal-data-service/management-zone/README.md b/BMW-Dynatrace-config/CD_personal-data-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_personal-data-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_personal-data-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_personal-data-service/notification/README.md b/BMW-Dynatrace-config/CD_personal-data-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_personal-data-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_personal-data-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_pmuimapper-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_pmuimapper-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_pmuimapper-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_pmuimapper-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_pmuimapper-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_pmuimapper-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_pmuimapper-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_pmuimapper-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_pmuimapper-service/dashboard/README.md b/BMW-Dynatrace-config/CD_pmuimapper-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_pmuimapper-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_pmuimapper-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_pmuimapper-service/management-zone/README.md b/BMW-Dynatrace-config/CD_pmuimapper-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_pmuimapper-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_pmuimapper-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_pmuimapper-service/notification/README.md b/BMW-Dynatrace-config/CD_pmuimapper-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_pmuimapper-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_pmuimapper-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_private-charging-tariffs-composite-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_private-charging-tariffs-composite-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_private-charging-tariffs-composite-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_private-charging-tariffs-composite-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_private-charging-tariffs-composite-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_private-charging-tariffs-composite-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_private-charging-tariffs-composite-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_private-charging-tariffs-composite-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_private-charging-tariffs-composite-service/dashboard/README.md b/BMW-Dynatrace-config/CD_private-charging-tariffs-composite-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_private-charging-tariffs-composite-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_private-charging-tariffs-composite-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_private-charging-tariffs-composite-service/management-zone/README.md b/BMW-Dynatrace-config/CD_private-charging-tariffs-composite-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_private-charging-tariffs-composite-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_private-charging-tariffs-composite-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_private-charging-tariffs-composite-service/notification/README.md b/BMW-Dynatrace-config/CD_private-charging-tariffs-composite-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_private-charging-tariffs-composite-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_private-charging-tariffs-composite-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_private-charging-tariffs-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_private-charging-tariffs-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_private-charging-tariffs-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_private-charging-tariffs-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_private-charging-tariffs-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_private-charging-tariffs-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_private-charging-tariffs-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_private-charging-tariffs-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_private-charging-tariffs-service/dashboard/README.md b/BMW-Dynatrace-config/CD_private-charging-tariffs-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_private-charging-tariffs-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_private-charging-tariffs-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_private-charging-tariffs-service/management-zone/README.md b/BMW-Dynatrace-config/CD_private-charging-tariffs-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_private-charging-tariffs-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_private-charging-tariffs-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_private-charging-tariffs-service/notification/README.md b/BMW-Dynatrace-config/CD_private-charging-tariffs-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_private-charging-tariffs-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_private-charging-tariffs-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_push-notification-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_push-notification-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_push-notification-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_push-notification-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_push-notification-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_push-notification-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_push-notification-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_push-notification-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_push-notification-service/dashboard/README.md b/BMW-Dynatrace-config/CD_push-notification-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_push-notification-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_push-notification-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_push-notification-service/management-zone/README.md b/BMW-Dynatrace-config/CD_push-notification-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_push-notification-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_push-notification-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_push-notification-service/notification/README.md b/BMW-Dynatrace-config/CD_push-notification-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_push-notification-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_push-notification-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_push-notification-settings-composite-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_push-notification-settings-composite-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_push-notification-settings-composite-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_push-notification-settings-composite-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_push-notification-settings-composite-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_push-notification-settings-composite-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_push-notification-settings-composite-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_push-notification-settings-composite-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_push-notification-settings-composite-service/dashboard/README.md b/BMW-Dynatrace-config/CD_push-notification-settings-composite-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_push-notification-settings-composite-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_push-notification-settings-composite-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_push-notification-settings-composite-service/management-zone/README.md b/BMW-Dynatrace-config/CD_push-notification-settings-composite-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_push-notification-settings-composite-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_push-notification-settings-composite-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_push-notification-settings-composite-service/notification/README.md b/BMW-Dynatrace-config/CD_push-notification-settings-composite-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_push-notification-settings-composite-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_push-notification-settings-composite-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_recall-analytics-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_recall-analytics-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_recall-analytics-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_recall-analytics-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_recall-analytics-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_recall-analytics-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_recall-analytics-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_recall-analytics-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_recall-analytics-service/dashboard/README.md b/BMW-Dynatrace-config/CD_recall-analytics-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_recall-analytics-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_recall-analytics-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_recall-analytics-service/management-zone/README.md b/BMW-Dynatrace-config/CD_recall-analytics-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_recall-analytics-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_recall-analytics-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_recall-analytics-service/notification/README.md b/BMW-Dynatrace-config/CD_recall-analytics-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_recall-analytics-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_recall-analytics-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_recall-client-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_recall-client-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_recall-client-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_recall-client-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_recall-client-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_recall-client-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_recall-client-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_recall-client-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_recall-client-service/dashboard/README.md b/BMW-Dynatrace-config/CD_recall-client-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_recall-client-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_recall-client-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_recall-client-service/management-zone/README.md b/BMW-Dynatrace-config/CD_recall-client-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_recall-client-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_recall-client-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_recall-client-service/notification/README.md b/BMW-Dynatrace-config/CD_recall-client-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_recall-client-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_recall-client-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_recall-handler-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_recall-handler-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_recall-handler-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_recall-handler-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_recall-handler-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_recall-handler-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_recall-handler-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_recall-handler-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_recall-handler-service/dashboard/README.md b/BMW-Dynatrace-config/CD_recall-handler-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_recall-handler-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_recall-handler-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_recall-handler-service/management-zone/README.md b/BMW-Dynatrace-config/CD_recall-handler-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_recall-handler-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_recall-handler-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_recall-handler-service/notification/README.md b/BMW-Dynatrace-config/CD_recall-handler-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_recall-handler-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_recall-handler-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_recall-notification-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_recall-notification-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_recall-notification-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_recall-notification-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_recall-notification-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_recall-notification-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_recall-notification-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_recall-notification-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_recall-notification-service/dashboard/README.md b/BMW-Dynatrace-config/CD_recall-notification-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_recall-notification-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_recall-notification-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_recall-notification-service/management-zone/README.md b/BMW-Dynatrace-config/CD_recall-notification-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_recall-notification-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_recall-notification-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_recall-notification-service/notification/README.md b/BMW-Dynatrace-config/CD_recall-notification-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_recall-notification-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_recall-notification-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_recall-scheduler-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_recall-scheduler-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_recall-scheduler-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_recall-scheduler-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_recall-scheduler-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_recall-scheduler-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_recall-scheduler-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_recall-scheduler-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_recall-scheduler-service/dashboard/README.md b/BMW-Dynatrace-config/CD_recall-scheduler-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_recall-scheduler-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_recall-scheduler-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_recall-scheduler-service/management-zone/README.md b/BMW-Dynatrace-config/CD_recall-scheduler-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_recall-scheduler-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_recall-scheduler-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_recall-scheduler-service/notification/README.md b/BMW-Dynatrace-config/CD_recall-scheduler-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_recall-scheduler-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_recall-scheduler-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_recall-tcn-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_recall-tcn-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_recall-tcn-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_recall-tcn-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_recall-tcn-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_recall-tcn-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_recall-tcn-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_recall-tcn-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_recall-tcn-service/dashboard/README.md b/BMW-Dynatrace-config/CD_recall-tcn-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_recall-tcn-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_recall-tcn-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_recall-tcn-service/management-zone/README.md b/BMW-Dynatrace-config/CD_recall-tcn-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_recall-tcn-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_recall-tcn-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_recall-tcn-service/notification/README.md b/BMW-Dynatrace-config/CD_recall-tcn-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_recall-tcn-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_recall-tcn-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_remote-360-composite-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_remote-360-composite-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_remote-360-composite-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_remote-360-composite-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_remote-360-composite-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_remote-360-composite-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_remote-360-composite-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_remote-360-composite-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_remote-360-composite-service/dashboard/README.md b/BMW-Dynatrace-config/CD_remote-360-composite-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_remote-360-composite-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_remote-360-composite-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_remote-360-composite-service/management-zone/README.md b/BMW-Dynatrace-config/CD_remote-360-composite-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_remote-360-composite-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_remote-360-composite-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_remote-360-composite-service/notification/README.md b/BMW-Dynatrace-config/CD_remote-360-composite-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_remote-360-composite-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_remote-360-composite-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_remote-service-event-processor/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_remote-service-event-processor/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_remote-service-event-processor/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_remote-service-event-processor/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_remote-service-event-processor/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_remote-service-event-processor/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_remote-service-event-processor/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_remote-service-event-processor/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_remote-service-event-processor/dashboard/README.md b/BMW-Dynatrace-config/CD_remote-service-event-processor/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_remote-service-event-processor/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_remote-service-event-processor/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_remote-service-event-processor/management-zone/README.md b/BMW-Dynatrace-config/CD_remote-service-event-processor/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_remote-service-event-processor/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_remote-service-event-processor/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_remote-service-event-processor/notification/README.md b/BMW-Dynatrace-config/CD_remote-service-event-processor/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_remote-service-event-processor/notification/README.md +++ b/BMW-Dynatrace-config/CD_remote-service-event-processor/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_remote-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_remote-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_remote-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_remote-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_remote-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_remote-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_remote-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_remote-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_remote-service/dashboard/README.md b/BMW-Dynatrace-config/CD_remote-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_remote-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_remote-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_remote-service/management-zone/README.md b/BMW-Dynatrace-config/CD_remote-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_remote-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_remote-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_remote-service/notification/README.md b/BMW-Dynatrace-config/CD_remote-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_remote-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_remote-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_remote-software-upgrade/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_remote-software-upgrade/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_remote-software-upgrade/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_remote-software-upgrade/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_remote-software-upgrade/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_remote-software-upgrade/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_remote-software-upgrade/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_remote-software-upgrade/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_remote-software-upgrade/dashboard/README.md b/BMW-Dynatrace-config/CD_remote-software-upgrade/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_remote-software-upgrade/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_remote-software-upgrade/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_remote-software-upgrade/management-zone/README.md b/BMW-Dynatrace-config/CD_remote-software-upgrade/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_remote-software-upgrade/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_remote-software-upgrade/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_remote-software-upgrade/notification/README.md b/BMW-Dynatrace-config/CD_remote-software-upgrade/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_remote-software-upgrade/notification/README.md +++ b/BMW-Dynatrace-config/CD_remote-software-upgrade/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_roadside-assistance-composite-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_roadside-assistance-composite-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_roadside-assistance-composite-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_roadside-assistance-composite-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_roadside-assistance-composite-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_roadside-assistance-composite-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_roadside-assistance-composite-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_roadside-assistance-composite-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_roadside-assistance-composite-service/dashboard/README.md b/BMW-Dynatrace-config/CD_roadside-assistance-composite-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_roadside-assistance-composite-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_roadside-assistance-composite-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_roadside-assistance-composite-service/management-zone/README.md b/BMW-Dynatrace-config/CD_roadside-assistance-composite-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_roadside-assistance-composite-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_roadside-assistance-composite-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_roadside-assistance-composite-service/notification/README.md b/BMW-Dynatrace-config/CD_roadside-assistance-composite-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_roadside-assistance-composite-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_roadside-assistance-composite-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_roadside-assistance/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_roadside-assistance/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_roadside-assistance/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_roadside-assistance/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_roadside-assistance/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_roadside-assistance/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_roadside-assistance/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_roadside-assistance/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_roadside-assistance/dashboard/README.md b/BMW-Dynatrace-config/CD_roadside-assistance/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_roadside-assistance/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_roadside-assistance/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_roadside-assistance/management-zone/README.md b/BMW-Dynatrace-config/CD_roadside-assistance/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_roadside-assistance/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_roadside-assistance/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_roadside-assistance/notification/README.md b/BMW-Dynatrace-config/CD_roadside-assistance/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_roadside-assistance/notification/README.md +++ b/BMW-Dynatrace-config/CD_roadside-assistance/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_rsu-adapter/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_rsu-adapter/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_rsu-adapter/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_rsu-adapter/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_rsu-adapter/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_rsu-adapter/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_rsu-adapter/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_rsu-adapter/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_rsu-adapter/dashboard/README.md b/BMW-Dynatrace-config/CD_rsu-adapter/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_rsu-adapter/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_rsu-adapter/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_rsu-adapter/management-zone/README.md b/BMW-Dynatrace-config/CD_rsu-adapter/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_rsu-adapter/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_rsu-adapter/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_rsu-adapter/notification/README.md b/BMW-Dynatrace-config/CD_rsu-adapter/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_rsu-adapter/notification/README.md +++ b/BMW-Dynatrace-config/CD_rsu-adapter/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_rsu/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_rsu/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_rsu/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_rsu/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_rsu/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_rsu/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_rsu/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_rsu/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_rsu/dashboard/README.md b/BMW-Dynatrace-config/CD_rsu/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_rsu/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_rsu/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_rsu/management-zone/README.md b/BMW-Dynatrace-config/CD_rsu/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_rsu/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_rsu/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_rsu/notification/README.md b/BMW-Dynatrace-config/CD_rsu/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_rsu/notification/README.md +++ b/BMW-Dynatrace-config/CD_rsu/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_sbr/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_sbr/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_sbr/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_sbr/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_sbr/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_sbr/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_sbr/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_sbr/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_sbr/dashboard/README.md b/BMW-Dynatrace-config/CD_sbr/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_sbr/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_sbr/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_sbr/management-zone/README.md b/BMW-Dynatrace-config/CD_sbr/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_sbr/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_sbr/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_sbr/notification/README.md b/BMW-Dynatrace-config/CD_sbr/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_sbr/notification/README.md +++ b/BMW-Dynatrace-config/CD_sbr/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_scb/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_scb/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_scb/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_scb/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_scb/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_scb/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_scb/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_scb/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_scb/dashboard/README.md b/BMW-Dynatrace-config/CD_scb/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_scb/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_scb/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_scb/management-zone/README.md b/BMW-Dynatrace-config/CD_scb/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_scb/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_scb/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_scb/notification/README.md b/BMW-Dynatrace-config/CD_scb/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_scb/notification/README.md +++ b/BMW-Dynatrace-config/CD_scb/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_scc/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_scc/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_scc/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_scc/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_scc/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_scc/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_scc/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_scc/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_scc/dashboard/README.md b/BMW-Dynatrace-config/CD_scc/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_scc/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_scc/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_scc/management-zone/README.md b/BMW-Dynatrace-config/CD_scc/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_scc/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_scc/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_scc/notification/README.md b/BMW-Dynatrace-config/CD_scc/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_scc/notification/README.md +++ b/BMW-Dynatrace-config/CD_scc/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_scm-agentreg/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_scm-agentreg/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_scm-agentreg/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_scm-agentreg/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_scm-agentreg/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_scm-agentreg/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_scm-agentreg/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_scm-agentreg/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_scm-agentreg/dashboard/README.md b/BMW-Dynatrace-config/CD_scm-agentreg/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_scm-agentreg/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_scm-agentreg/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_scm-agentreg/management-zone/README.md b/BMW-Dynatrace-config/CD_scm-agentreg/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_scm-agentreg/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_scm-agentreg/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_scm-agentreg/notification/README.md b/BMW-Dynatrace-config/CD_scm-agentreg/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_scm-agentreg/notification/README.md +++ b/BMW-Dynatrace-config/CD_scm-agentreg/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_scm-scm/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_scm-scm/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_scm-scm/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_scm-scm/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_scm-scm/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_scm-scm/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_scm-scm/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_scm-scm/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_scm-scm/dashboard/README.md b/BMW-Dynatrace-config/CD_scm-scm/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_scm-scm/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_scm-scm/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_scm-scm/management-zone/README.md b/BMW-Dynatrace-config/CD_scm-scm/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_scm-scm/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_scm-scm/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_scm-scm/notification/README.md b/BMW-Dynatrace-config/CD_scm-scm/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_scm-scm/notification/README.md +++ b/BMW-Dynatrace-config/CD_scm-scm/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_scma-backend/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_scma-backend/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_scma-backend/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_scma-backend/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_scma-backend/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_scma-backend/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_scma-backend/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_scma-backend/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_scma-backend/dashboard/README.md b/BMW-Dynatrace-config/CD_scma-backend/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_scma-backend/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_scma-backend/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_scma-backend/management-zone/README.md b/BMW-Dynatrace-config/CD_scma-backend/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_scma-backend/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_scma-backend/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_scma-backend/notification/README.md b/BMW-Dynatrace-config/CD_scma-backend/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_scma-backend/notification/README.md +++ b/BMW-Dynatrace-config/CD_scma-backend/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_seam-event-consumer/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_seam-event-consumer/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_seam-event-consumer/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_seam-event-consumer/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_seam-event-consumer/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_seam-event-consumer/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_seam-event-consumer/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_seam-event-consumer/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_seam-event-consumer/dashboard/README.md b/BMW-Dynatrace-config/CD_seam-event-consumer/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_seam-event-consumer/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_seam-event-consumer/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_seam-event-consumer/management-zone/README.md b/BMW-Dynatrace-config/CD_seam-event-consumer/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_seam-event-consumer/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_seam-event-consumer/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_seam-event-consumer/notification/README.md b/BMW-Dynatrace-config/CD_seam-event-consumer/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_seam-event-consumer/notification/README.md +++ b/BMW-Dynatrace-config/CD_seam-event-consumer/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_seam-event-producer/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_seam-event-producer/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_seam-event-producer/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_seam-event-producer/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_seam-event-producer/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_seam-event-producer/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_seam-event-producer/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_seam-event-producer/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_seam-event-producer/dashboard/README.md b/BMW-Dynatrace-config/CD_seam-event-producer/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_seam-event-producer/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_seam-event-producer/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_seam-event-producer/management-zone/README.md b/BMW-Dynatrace-config/CD_seam-event-producer/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_seam-event-producer/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_seam-event-producer/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_seam-event-producer/notification/README.md b/BMW-Dynatrace-config/CD_seam-event-producer/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_seam-event-producer/notification/README.md +++ b/BMW-Dynatrace-config/CD_seam-event-producer/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_search-composite-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_search-composite-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_search-composite-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_search-composite-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_search-composite-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_search-composite-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_search-composite-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_search-composite-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_search-composite-service/dashboard/README.md b/BMW-Dynatrace-config/CD_search-composite-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_search-composite-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_search-composite-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_search-composite-service/management-zone/README.md b/BMW-Dynatrace-config/CD_search-composite-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_search-composite-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_search-composite-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_search-composite-service/notification/README.md b/BMW-Dynatrace-config/CD_search-composite-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_search-composite-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_search-composite-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_send-to-car-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_send-to-car-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_send-to-car-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_send-to-car-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_send-to-car-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_send-to-car-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_send-to-car-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_send-to-car-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_send-to-car-service/dashboard/README.md b/BMW-Dynatrace-config/CD_send-to-car-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_send-to-car-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_send-to-car-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_send-to-car-service/management-zone/README.md b/BMW-Dynatrace-config/CD_send-to-car-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_send-to-car-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_send-to-car-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_send-to-car-service/notification/README.md b/BMW-Dynatrace-config/CD_send-to-car-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_send-to-car-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_send-to-car-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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-manager/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_service-manager/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_service-manager/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_service-manager/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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-manager/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_service-manager/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_service-manager/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_service-manager/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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-manager/dashboard/README.md b/BMW-Dynatrace-config/CD_service-manager/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_service-manager/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_service-manager/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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-manager/management-zone/README.md b/BMW-Dynatrace-config/CD_service-manager/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_service-manager/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_service-manager/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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-manager/notification/README.md b/BMW-Dynatrace-config/CD_service-manager/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_service-manager/notification/README.md +++ b/BMW-Dynatrace-config/CD_service-manager/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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-notification-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_service-notification-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_service-notification-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_service-notification-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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-notification-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_service-notification-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_service-notification-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_service-notification-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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-notification-service/dashboard/README.md b/BMW-Dynatrace-config/CD_service-notification-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_service-notification-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_service-notification-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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-notification-service/management-zone/README.md b/BMW-Dynatrace-config/CD_service-notification-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_service-notification-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_service-notification-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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-notification-service/notification/README.md b/BMW-Dynatrace-config/CD_service-notification-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_service-notification-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_service-notification-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_sfa-fre/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_sfa-fre/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_sfa-fre/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_sfa-fre/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_sfa-fre/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_sfa-fre/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_sfa-fre/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_sfa-fre/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_sfa-fre/dashboard/README.md b/BMW-Dynatrace-config/CD_sfa-fre/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_sfa-fre/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_sfa-fre/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_sfa-fre/management-zone/README.md b/BMW-Dynatrace-config/CD_sfa-fre/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_sfa-fre/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_sfa-fre/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_sfa-fre/notification/README.md b/BMW-Dynatrace-config/CD_sfa-fre/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_sfa-fre/notification/README.md +++ b/BMW-Dynatrace-config/CD_sfa-fre/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_sfa-ota/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_sfa-ota/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_sfa-ota/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_sfa-ota/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_sfa-ota/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_sfa-ota/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_sfa-ota/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_sfa-ota/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_sfa-ota/dashboard/README.md b/BMW-Dynatrace-config/CD_sfa-ota/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_sfa-ota/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_sfa-ota/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_sfa-ota/management-zone/README.md b/BMW-Dynatrace-config/CD_sfa-ota/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_sfa-ota/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_sfa-ota/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_sfa-ota/notification/README.md b/BMW-Dynatrace-config/CD_sfa-ota/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_sfa-ota/notification/README.md +++ b/BMW-Dynatrace-config/CD_sfa-ota/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_sfa-vs/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_sfa-vs/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_sfa-vs/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_sfa-vs/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_sfa-vs/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_sfa-vs/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_sfa-vs/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_sfa-vs/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_sfa-vs/dashboard/README.md b/BMW-Dynatrace-config/CD_sfa-vs/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_sfa-vs/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_sfa-vs/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_sfa-vs/management-zone/README.md b/BMW-Dynatrace-config/CD_sfa-vs/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_sfa-vs/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_sfa-vs/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_sfa-vs/notification/README.md b/BMW-Dynatrace-config/CD_sfa-vs/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_sfa-vs/notification/README.md +++ b/BMW-Dynatrace-config/CD_sfa-vs/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_sfa/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_sfa/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_sfa/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_sfa/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_sfa/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_sfa/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_sfa/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_sfa/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_sfa/dashboard/README.md b/BMW-Dynatrace-config/CD_sfa/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_sfa/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_sfa/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_sfa/management-zone/README.md b/BMW-Dynatrace-config/CD_sfa/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_sfa/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_sfa/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_sfa/notification/README.md b/BMW-Dynatrace-config/CD_sfa/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_sfa/notification/README.md +++ b/BMW-Dynatrace-config/CD_sfa/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_smart-access-order-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_smart-access-order-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_smart-access-order-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_smart-access-order-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_smart-access-order-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_smart-access-order-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_smart-access-order-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_smart-access-order-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_smart-access-order-service/dashboard/README.md b/BMW-Dynatrace-config/CD_smart-access-order-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_smart-access-order-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_smart-access-order-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_smart-access-order-service/management-zone/README.md b/BMW-Dynatrace-config/CD_smart-access-order-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_smart-access-order-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_smart-access-order-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_smart-access-order-service/notification/README.md b/BMW-Dynatrace-config/CD_smart-access-order-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_smart-access-order-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_smart-access-order-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_sms-email-adapter-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_sms-email-adapter-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_sms-email-adapter-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_sms-email-adapter-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_sms-email-adapter-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_sms-email-adapter-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_sms-email-adapter-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_sms-email-adapter-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_sms-email-adapter-service/dashboard/README.md b/BMW-Dynatrace-config/CD_sms-email-adapter-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_sms-email-adapter-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_sms-email-adapter-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_sms-email-adapter-service/management-zone/README.md b/BMW-Dynatrace-config/CD_sms-email-adapter-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_sms-email-adapter-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_sms-email-adapter-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_sms-email-adapter-service/notification/README.md b/BMW-Dynatrace-config/CD_sms-email-adapter-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_sms-email-adapter-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_sms-email-adapter-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_srmanager/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_srmanager/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_srmanager/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_srmanager/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_srmanager/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_srmanager/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_srmanager/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_srmanager/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_srmanager/dashboard/README.md b/BMW-Dynatrace-config/CD_srmanager/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_srmanager/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_srmanager/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_srmanager/management-zone/README.md b/BMW-Dynatrace-config/CD_srmanager/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_srmanager/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_srmanager/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_srmanager/notification/README.md b/BMW-Dynatrace-config/CD_srmanager/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_srmanager/notification/README.md +++ b/BMW-Dynatrace-config/CD_srmanager/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_stm/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_stm/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_stm/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_stm/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_stm/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_stm/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_stm/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_stm/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_stm/dashboard/README.md b/BMW-Dynatrace-config/CD_stm/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_stm/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_stm/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_stm/management-zone/README.md b/BMW-Dynatrace-config/CD_stm/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_stm/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_stm/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_stm/notification/README.md b/BMW-Dynatrace-config/CD_stm/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_stm/notification/README.md +++ b/BMW-Dynatrace-config/CD_stm/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_svcinfo/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_svcinfo/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_svcinfo/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_svcinfo/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_svcinfo/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_svcinfo/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_svcinfo/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_svcinfo/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_svcinfo/dashboard/README.md b/BMW-Dynatrace-config/CD_svcinfo/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_svcinfo/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_svcinfo/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_svcinfo/management-zone/README.md b/BMW-Dynatrace-config/CD_svcinfo/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_svcinfo/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_svcinfo/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_svcinfo/notification/README.md b/BMW-Dynatrace-config/CD_svcinfo/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_svcinfo/notification/README.md +++ b/BMW-Dynatrace-config/CD_svcinfo/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_timer-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_timer-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_timer-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_timer-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_timer-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_timer-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_timer-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_timer-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_timer-service/dashboard/README.md b/BMW-Dynatrace-config/CD_timer-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_timer-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_timer-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_timer-service/management-zone/README.md b/BMW-Dynatrace-config/CD_timer-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_timer-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_timer-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_timer-service/notification/README.md b/BMW-Dynatrace-config/CD_timer-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_timer-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_timer-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_timers-processor/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_timers-processor/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_timers-processor/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_timers-processor/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_timers-processor/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_timers-processor/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_timers-processor/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_timers-processor/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_timers-processor/dashboard/README.md b/BMW-Dynatrace-config/CD_timers-processor/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_timers-processor/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_timers-processor/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_timers-processor/management-zone/README.md b/BMW-Dynatrace-config/CD_timers-processor/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_timers-processor/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_timers-processor/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_timers-processor/notification/README.md b/BMW-Dynatrace-config/CD_timers-processor/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_timers-processor/notification/README.md +++ b/BMW-Dynatrace-config/CD_timers-processor/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_token-exchanger-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_token-exchanger-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_token-exchanger-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_token-exchanger-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_token-exchanger-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_token-exchanger-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_token-exchanger-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_token-exchanger-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_token-exchanger-service/dashboard/README.md b/BMW-Dynatrace-config/CD_token-exchanger-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_token-exchanger-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_token-exchanger-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_token-exchanger-service/management-zone/README.md b/BMW-Dynatrace-config/CD_token-exchanger-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_token-exchanger-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_token-exchanger-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_token-exchanger-service/notification/README.md b/BMW-Dynatrace-config/CD_token-exchanger-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_token-exchanger-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_token-exchanger-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_tol-mgu/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_tol-mgu/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_tol-mgu/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_tol-mgu/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_tol-mgu/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_tol-mgu/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_tol-mgu/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_tol-mgu/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_tol-mgu/dashboard/README.md b/BMW-Dynatrace-config/CD_tol-mgu/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_tol-mgu/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_tol-mgu/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_tol-mgu/management-zone/README.md b/BMW-Dynatrace-config/CD_tol-mgu/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_tol-mgu/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_tol-mgu/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_tol-mgu/notification/README.md b/BMW-Dynatrace-config/CD_tol-mgu/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_tol-mgu/notification/README.md +++ b/BMW-Dynatrace-config/CD_tol-mgu/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_tol-tssb/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_tol-tssb/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_tol-tssb/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_tol-tssb/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_tol-tssb/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_tol-tssb/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_tol-tssb/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_tol-tssb/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_tol-tssb/dashboard/README.md b/BMW-Dynatrace-config/CD_tol-tssb/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_tol-tssb/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_tol-tssb/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_tol-tssb/management-zone/README.md b/BMW-Dynatrace-config/CD_tol-tssb/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_tol-tssb/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_tol-tssb/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_tol-tssb/notification/README.md b/BMW-Dynatrace-config/CD_tol-tssb/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_tol-tssb/notification/README.md +++ b/BMW-Dynatrace-config/CD_tol-tssb/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_tol/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_tol/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_tol/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_tol/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_tol/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_tol/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_tol/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_tol/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_tol/dashboard/README.md b/BMW-Dynatrace-config/CD_tol/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_tol/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_tol/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_tol/management-zone/README.md b/BMW-Dynatrace-config/CD_tol/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_tol/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_tol/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_tol/notification/README.md b/BMW-Dynatrace-config/CD_tol/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_tol/notification/README.md +++ b/BMW-Dynatrace-config/CD_tol/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_trip-change-processor/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_trip-change-processor/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_trip-change-processor/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_trip-change-processor/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_trip-change-processor/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_trip-change-processor/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_trip-change-processor/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_trip-change-processor/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_trip-change-processor/dashboard/README.md b/BMW-Dynatrace-config/CD_trip-change-processor/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_trip-change-processor/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_trip-change-processor/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_trip-change-processor/management-zone/README.md b/BMW-Dynatrace-config/CD_trip-change-processor/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_trip-change-processor/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_trip-change-processor/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_trip-change-processor/notification/README.md b/BMW-Dynatrace-config/CD_trip-change-processor/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_trip-change-processor/notification/README.md +++ b/BMW-Dynatrace-config/CD_trip-change-processor/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_trip-cleanup-app-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_trip-cleanup-app-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_trip-cleanup-app-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_trip-cleanup-app-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_trip-cleanup-app-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_trip-cleanup-app-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_trip-cleanup-app-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_trip-cleanup-app-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_trip-cleanup-app-service/dashboard/README.md b/BMW-Dynatrace-config/CD_trip-cleanup-app-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_trip-cleanup-app-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_trip-cleanup-app-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_trip-cleanup-app-service/management-zone/README.md b/BMW-Dynatrace-config/CD_trip-cleanup-app-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_trip-cleanup-app-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_trip-cleanup-app-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_trip-cleanup-app-service/notification/README.md b/BMW-Dynatrace-config/CD_trip-cleanup-app-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_trip-cleanup-app-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_trip-cleanup-app-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_trip-monitor-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_trip-monitor-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_trip-monitor-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_trip-monitor-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_trip-monitor-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_trip-monitor-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_trip-monitor-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_trip-monitor-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_trip-monitor-service/dashboard/README.md b/BMW-Dynatrace-config/CD_trip-monitor-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_trip-monitor-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_trip-monitor-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_trip-monitor-service/management-zone/README.md b/BMW-Dynatrace-config/CD_trip-monitor-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_trip-monitor-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_trip-monitor-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_trip-monitor-service/notification/README.md b/BMW-Dynatrace-config/CD_trip-monitor-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_trip-monitor-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_trip-monitor-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_trip-reminder-processor/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_trip-reminder-processor/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_trip-reminder-processor/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_trip-reminder-processor/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_trip-reminder-processor/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_trip-reminder-processor/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_trip-reminder-processor/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_trip-reminder-processor/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_trip-reminder-processor/dashboard/README.md b/BMW-Dynatrace-config/CD_trip-reminder-processor/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_trip-reminder-processor/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_trip-reminder-processor/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_trip-reminder-processor/management-zone/README.md b/BMW-Dynatrace-config/CD_trip-reminder-processor/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_trip-reminder-processor/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_trip-reminder-processor/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_trip-reminder-processor/notification/README.md b/BMW-Dynatrace-config/CD_trip-reminder-processor/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_trip-reminder-processor/notification/README.md +++ b/BMW-Dynatrace-config/CD_trip-reminder-processor/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_trip-route-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_trip-route-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_trip-route-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_trip-route-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_trip-route-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_trip-route-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_trip-route-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_trip-route-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_trip-route-service/dashboard/README.md b/BMW-Dynatrace-config/CD_trip-route-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_trip-route-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_trip-route-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_trip-route-service/management-zone/README.md b/BMW-Dynatrace-config/CD_trip-route-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_trip-route-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_trip-route-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_trip-route-service/notification/README.md b/BMW-Dynatrace-config/CD_trip-route-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_trip-route-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_trip-route-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_trip-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_trip-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_trip-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_trip-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_trip-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_trip-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_trip-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_trip-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_trip-service/dashboard/README.md b/BMW-Dynatrace-config/CD_trip-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_trip-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_trip-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_trip-service/management-zone/README.md b/BMW-Dynatrace-config/CD_trip-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_trip-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_trip-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_trip-service/notification/README.md b/BMW-Dynatrace-config/CD_trip-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_trip-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_trip-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ts-bcallservice/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ts-bcallservice/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ts-bcallservice/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ts-bcallservice/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ts-bcallservice/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ts-bcallservice/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ts-bcallservice/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ts-bcallservice/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ts-bcallservice/dashboard/README.md b/BMW-Dynatrace-config/CD_ts-bcallservice/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ts-bcallservice/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ts-bcallservice/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ts-bcallservice/management-zone/README.md b/BMW-Dynatrace-config/CD_ts-bcallservice/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ts-bcallservice/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ts-bcallservice/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ts-bcallservice/notification/README.md b/BMW-Dynatrace-config/CD_ts-bcallservice/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ts-bcallservice/notification/README.md +++ b/BMW-Dynatrace-config/CD_ts-bcallservice/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ts-bt/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ts-bt/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ts-bt/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ts-bt/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ts-bt/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ts-bt/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ts-bt/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ts-bt/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ts-bt/dashboard/README.md b/BMW-Dynatrace-config/CD_ts-bt/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ts-bt/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ts-bt/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ts-bt/management-zone/README.md b/BMW-Dynatrace-config/CD_ts-bt/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ts-bt/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ts-bt/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ts-bt/notification/README.md b/BMW-Dynatrace-config/CD_ts-bt/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ts-bt/notification/README.md +++ b/BMW-Dynatrace-config/CD_ts-bt/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ts-bti/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ts-bti/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ts-bti/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ts-bti/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ts-bti/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ts-bti/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ts-bti/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ts-bti/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ts-bti/dashboard/README.md b/BMW-Dynatrace-config/CD_ts-bti/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ts-bti/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ts-bti/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ts-bti/management-zone/README.md b/BMW-Dynatrace-config/CD_ts-bti/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ts-bti/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ts-bti/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ts-bti/notification/README.md b/BMW-Dynatrace-config/CD_ts-bti/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ts-bti/notification/README.md +++ b/BMW-Dynatrace-config/CD_ts-bti/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ts-cas-spm/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ts-cas-spm/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ts-cas-spm/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ts-cas-spm/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ts-cas-spm/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ts-cas-spm/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ts-cas-spm/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ts-cas-spm/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ts-cas-spm/dashboard/README.md b/BMW-Dynatrace-config/CD_ts-cas-spm/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ts-cas-spm/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ts-cas-spm/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ts-cas-spm/management-zone/README.md b/BMW-Dynatrace-config/CD_ts-cas-spm/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ts-cas-spm/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ts-cas-spm/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ts-cas-spm/notification/README.md b/BMW-Dynatrace-config/CD_ts-cas-spm/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ts-cas-spm/notification/README.md +++ b/BMW-Dynatrace-config/CD_ts-cas-spm/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ts-cas-stm/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ts-cas-stm/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ts-cas-stm/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ts-cas-stm/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ts-cas-stm/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ts-cas-stm/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ts-cas-stm/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ts-cas-stm/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ts-cas-stm/dashboard/README.md b/BMW-Dynatrace-config/CD_ts-cas-stm/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ts-cas-stm/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ts-cas-stm/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ts-cas-stm/management-zone/README.md b/BMW-Dynatrace-config/CD_ts-cas-stm/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ts-cas-stm/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ts-cas-stm/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ts-cas-stm/notification/README.md b/BMW-Dynatrace-config/CD_ts-cas-stm/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ts-cas-stm/notification/README.md +++ b/BMW-Dynatrace-config/CD_ts-cas-stm/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ts-datadispatcher/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ts-datadispatcher/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ts-datadispatcher/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ts-datadispatcher/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ts-datadispatcher/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ts-datadispatcher/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ts-datadispatcher/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ts-datadispatcher/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ts-datadispatcher/dashboard/README.md b/BMW-Dynatrace-config/CD_ts-datadispatcher/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ts-datadispatcher/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ts-datadispatcher/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ts-datadispatcher/management-zone/README.md b/BMW-Dynatrace-config/CD_ts-datadispatcher/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ts-datadispatcher/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ts-datadispatcher/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ts-datadispatcher/notification/README.md b/BMW-Dynatrace-config/CD_ts-datadispatcher/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ts-datadispatcher/notification/README.md +++ b/BMW-Dynatrace-config/CD_ts-datadispatcher/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ts-diagservice/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ts-diagservice/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ts-diagservice/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ts-diagservice/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ts-diagservice/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ts-diagservice/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ts-diagservice/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ts-diagservice/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ts-diagservice/dashboard/README.md b/BMW-Dynatrace-config/CD_ts-diagservice/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ts-diagservice/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ts-diagservice/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ts-diagservice/management-zone/README.md b/BMW-Dynatrace-config/CD_ts-diagservice/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ts-diagservice/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ts-diagservice/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ts-diagservice/notification/README.md b/BMW-Dynatrace-config/CD_ts-diagservice/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ts-diagservice/notification/README.md +++ b/BMW-Dynatrace-config/CD_ts-diagservice/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ts-eshad/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ts-eshad/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ts-eshad/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ts-eshad/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ts-eshad/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ts-eshad/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ts-eshad/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ts-eshad/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ts-eshad/dashboard/README.md b/BMW-Dynatrace-config/CD_ts-eshad/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ts-eshad/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ts-eshad/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ts-eshad/management-zone/README.md b/BMW-Dynatrace-config/CD_ts-eshad/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ts-eshad/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ts-eshad/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ts-eshad/notification/README.md b/BMW-Dynatrace-config/CD_ts-eshad/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ts-eshad/notification/README.md +++ b/BMW-Dynatrace-config/CD_ts-eshad/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ts-message-receiver/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ts-message-receiver/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ts-message-receiver/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ts-message-receiver/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ts-message-receiver/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ts-message-receiver/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ts-message-receiver/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ts-message-receiver/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ts-message-receiver/dashboard/README.md b/BMW-Dynatrace-config/CD_ts-message-receiver/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ts-message-receiver/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ts-message-receiver/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ts-message-receiver/management-zone/README.md b/BMW-Dynatrace-config/CD_ts-message-receiver/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ts-message-receiver/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ts-message-receiver/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ts-message-receiver/notification/README.md b/BMW-Dynatrace-config/CD_ts-message-receiver/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ts-message-receiver/notification/README.md +++ b/BMW-Dynatrace-config/CD_ts-message-receiver/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ts-pdmupdater/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ts-pdmupdater/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ts-pdmupdater/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ts-pdmupdater/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ts-pdmupdater/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ts-pdmupdater/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ts-pdmupdater/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ts-pdmupdater/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ts-pdmupdater/dashboard/README.md b/BMW-Dynatrace-config/CD_ts-pdmupdater/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ts-pdmupdater/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ts-pdmupdater/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ts-pdmupdater/management-zone/README.md b/BMW-Dynatrace-config/CD_ts-pdmupdater/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ts-pdmupdater/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ts-pdmupdater/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ts-pdmupdater/notification/README.md b/BMW-Dynatrace-config/CD_ts-pdmupdater/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ts-pdmupdater/notification/README.md +++ b/BMW-Dynatrace-config/CD_ts-pdmupdater/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ts-pservice/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ts-pservice/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ts-pservice/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ts-pservice/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ts-pservice/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ts-pservice/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ts-pservice/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ts-pservice/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ts-pservice/dashboard/README.md b/BMW-Dynatrace-config/CD_ts-pservice/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ts-pservice/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ts-pservice/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ts-pservice/management-zone/README.md b/BMW-Dynatrace-config/CD_ts-pservice/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ts-pservice/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ts-pservice/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ts-pservice/notification/README.md b/BMW-Dynatrace-config/CD_ts-pservice/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ts-pservice/notification/README.md +++ b/BMW-Dynatrace-config/CD_ts-pservice/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ts-remotediagnosis/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ts-remotediagnosis/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ts-remotediagnosis/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ts-remotediagnosis/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ts-remotediagnosis/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ts-remotediagnosis/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ts-remotediagnosis/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ts-remotediagnosis/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ts-remotediagnosis/dashboard/README.md b/BMW-Dynatrace-config/CD_ts-remotediagnosis/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ts-remotediagnosis/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ts-remotediagnosis/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ts-remotediagnosis/management-zone/README.md b/BMW-Dynatrace-config/CD_ts-remotediagnosis/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ts-remotediagnosis/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ts-remotediagnosis/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ts-remotediagnosis/notification/README.md b/BMW-Dynatrace-config/CD_ts-remotediagnosis/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ts-remotediagnosis/notification/README.md +++ b/BMW-Dynatrace-config/CD_ts-remotediagnosis/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ts-rsurservice/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ts-rsurservice/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ts-rsurservice/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ts-rsurservice/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ts-rsurservice/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ts-rsurservice/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ts-rsurservice/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ts-rsurservice/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ts-rsurservice/dashboard/README.md b/BMW-Dynatrace-config/CD_ts-rsurservice/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ts-rsurservice/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ts-rsurservice/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ts-rsurservice/management-zone/README.md b/BMW-Dynatrace-config/CD_ts-rsurservice/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ts-rsurservice/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ts-rsurservice/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ts-rsurservice/notification/README.md b/BMW-Dynatrace-config/CD_ts-rsurservice/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ts-rsurservice/notification/README.md +++ b/BMW-Dynatrace-config/CD_ts-rsurservice/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ts-rtcadapter/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ts-rtcadapter/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ts-rtcadapter/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ts-rtcadapter/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ts-rtcadapter/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ts-rtcadapter/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ts-rtcadapter/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ts-rtcadapter/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ts-rtcadapter/dashboard/README.md b/BMW-Dynatrace-config/CD_ts-rtcadapter/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ts-rtcadapter/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ts-rtcadapter/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ts-rtcadapter/management-zone/README.md b/BMW-Dynatrace-config/CD_ts-rtcadapter/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ts-rtcadapter/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ts-rtcadapter/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ts-rtcadapter/notification/README.md b/BMW-Dynatrace-config/CD_ts-rtcadapter/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ts-rtcadapter/notification/README.md +++ b/BMW-Dynatrace-config/CD_ts-rtcadapter/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ts-rtchandler/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ts-rtchandler/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ts-rtchandler/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ts-rtchandler/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ts-rtchandler/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ts-rtchandler/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ts-rtchandler/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ts-rtchandler/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ts-rtchandler/dashboard/README.md b/BMW-Dynatrace-config/CD_ts-rtchandler/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ts-rtchandler/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ts-rtchandler/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ts-rtchandler/management-zone/README.md b/BMW-Dynatrace-config/CD_ts-rtchandler/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ts-rtchandler/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ts-rtchandler/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ts-rtchandler/notification/README.md b/BMW-Dynatrace-config/CD_ts-rtchandler/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ts-rtchandler/notification/README.md +++ b/BMW-Dynatrace-config/CD_ts-rtchandler/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ts-rtcservice/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ts-rtcservice/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ts-rtcservice/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ts-rtcservice/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ts-rtcservice/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ts-rtcservice/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ts-rtcservice/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ts-rtcservice/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ts-rtcservice/dashboard/README.md b/BMW-Dynatrace-config/CD_ts-rtcservice/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ts-rtcservice/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ts-rtcservice/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ts-rtcservice/management-zone/README.md b/BMW-Dynatrace-config/CD_ts-rtcservice/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ts-rtcservice/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ts-rtcservice/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ts-rtcservice/notification/README.md b/BMW-Dynatrace-config/CD_ts-rtcservice/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ts-rtcservice/notification/README.md +++ b/BMW-Dynatrace-config/CD_ts-rtcservice/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ts-scallservice/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ts-scallservice/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ts-scallservice/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ts-scallservice/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ts-scallservice/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ts-scallservice/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ts-scallservice/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ts-scallservice/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ts-scallservice/dashboard/README.md b/BMW-Dynatrace-config/CD_ts-scallservice/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ts-scallservice/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ts-scallservice/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ts-scallservice/management-zone/README.md b/BMW-Dynatrace-config/CD_ts-scallservice/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ts-scallservice/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ts-scallservice/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ts-scallservice/notification/README.md b/BMW-Dynatrace-config/CD_ts-scallservice/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ts-scallservice/notification/README.md +++ b/BMW-Dynatrace-config/CD_ts-scallservice/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ts-tsbgam/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ts-tsbgam/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ts-tsbgam/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ts-tsbgam/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ts-tsbgam/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ts-tsbgam/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ts-tsbgam/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ts-tsbgam/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ts-tsbgam/dashboard/README.md b/BMW-Dynatrace-config/CD_ts-tsbgam/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ts-tsbgam/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ts-tsbgam/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ts-tsbgam/management-zone/README.md b/BMW-Dynatrace-config/CD_ts-tsbgam/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ts-tsbgam/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ts-tsbgam/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ts-tsbgam/notification/README.md b/BMW-Dynatrace-config/CD_ts-tsbgam/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ts-tsbgam/notification/README.md +++ b/BMW-Dynatrace-config/CD_ts-tsbgam/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ts-tsbgservice/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ts-tsbgservice/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ts-tsbgservice/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ts-tsbgservice/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ts-tsbgservice/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ts-tsbgservice/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ts-tsbgservice/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ts-tsbgservice/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ts-tsbgservice/dashboard/README.md b/BMW-Dynatrace-config/CD_ts-tsbgservice/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ts-tsbgservice/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ts-tsbgservice/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ts-tsbgservice/management-zone/README.md b/BMW-Dynatrace-config/CD_ts-tsbgservice/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ts-tsbgservice/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ts-tsbgservice/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ts-tsbgservice/notification/README.md b/BMW-Dynatrace-config/CD_ts-tsbgservice/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ts-tsbgservice/notification/README.md +++ b/BMW-Dynatrace-config/CD_ts-tsbgservice/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ts-tsp/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ts-tsp/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ts-tsp/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ts-tsp/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ts-tsp/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ts-tsp/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ts-tsp/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ts-tsp/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ts-tsp/dashboard/README.md b/BMW-Dynatrace-config/CD_ts-tsp/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ts-tsp/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ts-tsp/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ts-tsp/management-zone/README.md b/BMW-Dynatrace-config/CD_ts-tsp/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ts-tsp/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ts-tsp/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ts-tsp/notification/README.md b/BMW-Dynatrace-config/CD_ts-tsp/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ts-tsp/notification/README.md +++ b/BMW-Dynatrace-config/CD_ts-tsp/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_ts-wlupdater/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_ts-wlupdater/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_ts-wlupdater/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_ts-wlupdater/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_ts-wlupdater/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_ts-wlupdater/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_ts-wlupdater/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_ts-wlupdater/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_ts-wlupdater/dashboard/README.md b/BMW-Dynatrace-config/CD_ts-wlupdater/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_ts-wlupdater/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_ts-wlupdater/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_ts-wlupdater/management-zone/README.md b/BMW-Dynatrace-config/CD_ts-wlupdater/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_ts-wlupdater/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_ts-wlupdater/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_ts-wlupdater/notification/README.md b/BMW-Dynatrace-config/CD_ts-wlupdater/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_ts-wlupdater/notification/README.md +++ b/BMW-Dynatrace-config/CD_ts-wlupdater/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_tscs/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_tscs/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_tscs/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_tscs/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_tscs/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_tscs/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_tscs/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_tscs/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_tscs/dashboard/README.md b/BMW-Dynatrace-config/CD_tscs/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_tscs/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_tscs/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_tscs/management-zone/README.md b/BMW-Dynatrace-config/CD_tscs/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_tscs/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_tscs/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_tscs/notification/README.md b/BMW-Dynatrace-config/CD_tscs/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_tscs/notification/README.md +++ b/BMW-Dynatrace-config/CD_tscs/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_tsmb/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsmb/dashboard/README.md b/BMW-Dynatrace-config/CD_tsmb/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_tsmb/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_tsmb/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_tsmb/management-zone/README.md b/BMW-Dynatrace-config/CD_tsmb/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_tsmb/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_tsmb/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_tsmb/notification/README.md b/BMW-Dynatrace-config/CD_tsmb/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_tsmb/notification/README.md +++ b/BMW-Dynatrace-config/CD_tsmb/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-cmr/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_tsr-cmr/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_tsr-cmr/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_tsr-cmr/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-cmr/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_tsr-cmr/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_tsr-cmr/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_tsr-cmr/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-cmr/dashboard/README.md b/BMW-Dynatrace-config/CD_tsr-cmr/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_tsr-cmr/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_tsr-cmr/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_tsr-cmr/management-zone/README.md b/BMW-Dynatrace-config/CD_tsr-cmr/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_tsr-cmr/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_tsr-cmr/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_tsr-cmr/notification/README.md b/BMW-Dynatrace-config/CD_tsr-cmr/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_tsr-cmr/notification/README.md +++ b/BMW-Dynatrace-config/CD_tsr-cmr/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_tsr-dd/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-dd/dashboard/README.md b/BMW-Dynatrace-config/CD_tsr-dd/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_tsr-dd/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_tsr-dd/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_tsr-dd/management-zone/README.md b/BMW-Dynatrace-config/CD_tsr-dd/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_tsr-dd/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_tsr-dd/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_tsr-dd/notification/README.md b/BMW-Dynatrace-config/CD_tsr-dd/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_tsr-dd/notification/README.md +++ b/BMW-Dynatrace-config/CD_tsr-dd/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_tsr-vu/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_tsr-vu/dashboard/README.md b/BMW-Dynatrace-config/CD_tsr-vu/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_tsr-vu/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_tsr-vu/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_tsr-vu/management-zone/README.md b/BMW-Dynatrace-config/CD_tsr-vu/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_tsr-vu/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_tsr-vu/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_tsr-vu/notification/README.md b/BMW-Dynatrace-config/CD_tsr-vu/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_tsr-vu/notification/README.md +++ b/BMW-Dynatrace-config/CD_tsr-vu/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_tsrservice/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_tsrservice/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_tsrservice/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_tsrservice/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_tsrservice/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_tsrservice/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_tsrservice/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_tsrservice/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_tsrservice/dashboard/README.md b/BMW-Dynatrace-config/CD_tsrservice/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_tsrservice/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_tsrservice/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_tsrservice/management-zone/README.md b/BMW-Dynatrace-config/CD_tsrservice/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_tsrservice/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_tsrservice/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_tsrservice/notification/README.md b/BMW-Dynatrace-config/CD_tsrservice/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_tsrservice/notification/README.md +++ b/BMW-Dynatrace-config/CD_tsrservice/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_user-activity-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_user-activity-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_user-activity-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_user-activity-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_user-activity-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_user-activity-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_user-activity-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_user-activity-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_user-activity-service/dashboard/README.md b/BMW-Dynatrace-config/CD_user-activity-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_user-activity-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_user-activity-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_user-activity-service/management-zone/README.md b/BMW-Dynatrace-config/CD_user-activity-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_user-activity-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_user-activity-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_user-activity-service/notification/README.md b/BMW-Dynatrace-config/CD_user-activity-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_user-activity-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_user-activity-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_user-attributes-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_user-attributes-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_user-attributes-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_user-attributes-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_user-attributes-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_user-attributes-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_user-attributes-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_user-attributes-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_user-attributes-service/dashboard/README.md b/BMW-Dynatrace-config/CD_user-attributes-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_user-attributes-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_user-attributes-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_user-attributes-service/management-zone/README.md b/BMW-Dynatrace-config/CD_user-attributes-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_user-attributes-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_user-attributes-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_user-attributes-service/notification/README.md b/BMW-Dynatrace-config/CD_user-attributes-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_user-attributes-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_user-attributes-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_user-composite-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_user-composite-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_user-composite-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_user-composite-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_user-composite-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_user-composite-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_user-composite-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_user-composite-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_user-composite-service/dashboard/README.md b/BMW-Dynatrace-config/CD_user-composite-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_user-composite-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_user-composite-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_user-composite-service/management-zone/README.md b/BMW-Dynatrace-config/CD_user-composite-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_user-composite-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_user-composite-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_user-composite-service/notification/README.md b/BMW-Dynatrace-config/CD_user-composite-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_user-composite-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_user-composite-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_user-delete-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_user-delete-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_user-delete-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_user-delete-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_user-delete-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_user-delete-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_user-delete-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_user-delete-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_user-delete-service/dashboard/README.md b/BMW-Dynatrace-config/CD_user-delete-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_user-delete-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_user-delete-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_user-delete-service/management-zone/README.md b/BMW-Dynatrace-config/CD_user-delete-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_user-delete-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_user-delete-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_user-delete-service/notification/README.md b/BMW-Dynatrace-config/CD_user-delete-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_user-delete-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_user-delete-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_user-position-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_user-position-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_user-position-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_user-position-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_user-position-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_user-position-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_user-position-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_user-position-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_user-position-service/dashboard/README.md b/BMW-Dynatrace-config/CD_user-position-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_user-position-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_user-position-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_user-position-service/management-zone/README.md b/BMW-Dynatrace-config/CD_user-position-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_user-position-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_user-position-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_user-position-service/notification/README.md b/BMW-Dynatrace-config/CD_user-position-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_user-position-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_user-position-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_user-profile-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_user-profile-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_user-profile-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_user-profile-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_user-profile-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_user-profile-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_user-profile-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_user-profile-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_user-profile-service/dashboard/README.md b/BMW-Dynatrace-config/CD_user-profile-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_user-profile-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_user-profile-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_user-profile-service/management-zone/README.md b/BMW-Dynatrace-config/CD_user-profile-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_user-profile-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_user-profile-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_user-profile-service/notification/README.md b/BMW-Dynatrace-config/CD_user-profile-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_user-profile-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_user-profile-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_usid-filter-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_usid-filter-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_usid-filter-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_usid-filter-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_usid-filter-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_usid-filter-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_usid-filter-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_usid-filter-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_usid-filter-service/dashboard/README.md b/BMW-Dynatrace-config/CD_usid-filter-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_usid-filter-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_usid-filter-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_usid-filter-service/management-zone/README.md b/BMW-Dynatrace-config/CD_usid-filter-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_usid-filter-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_usid-filter-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_usid-filter-service/notification/README.md b/BMW-Dynatrace-config/CD_usid-filter-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_usid-filter-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_usid-filter-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_vehicle-composite-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vehicle-composite-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_vehicle-composite-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-composite-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_vehicle-composite-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vehicle-composite-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_vehicle-composite-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-composite-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_vehicle-composite-service/dashboard/README.md b/BMW-Dynatrace-config/CD_vehicle-composite-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_vehicle-composite-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-composite-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_vehicle-composite-service/management-zone/README.md b/BMW-Dynatrace-config/CD_vehicle-composite-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_vehicle-composite-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-composite-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_vehicle-composite-service/notification/README.md b/BMW-Dynatrace-config/CD_vehicle-composite-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_vehicle-composite-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-composite-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_vehicle-features-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vehicle-features-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_vehicle-features-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-features-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_vehicle-features-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vehicle-features-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_vehicle-features-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-features-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_vehicle-features-service/dashboard/README.md b/BMW-Dynatrace-config/CD_vehicle-features-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_vehicle-features-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-features-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_vehicle-features-service/management-zone/README.md b/BMW-Dynatrace-config/CD_vehicle-features-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_vehicle-features-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-features-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_vehicle-features-service/notification/README.md b/BMW-Dynatrace-config/CD_vehicle-features-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_vehicle-features-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-features-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_vehicle-list-proxy-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vehicle-list-proxy-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_vehicle-list-proxy-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-list-proxy-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_vehicle-list-proxy-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vehicle-list-proxy-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_vehicle-list-proxy-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-list-proxy-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_vehicle-list-proxy-service/dashboard/README.md b/BMW-Dynatrace-config/CD_vehicle-list-proxy-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_vehicle-list-proxy-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-list-proxy-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_vehicle-list-proxy-service/management-zone/README.md b/BMW-Dynatrace-config/CD_vehicle-list-proxy-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_vehicle-list-proxy-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-list-proxy-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_vehicle-list-proxy-service/notification/README.md b/BMW-Dynatrace-config/CD_vehicle-list-proxy-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_vehicle-list-proxy-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-list-proxy-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_vehicle-mapping-composite-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vehicle-mapping-composite-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_vehicle-mapping-composite-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-mapping-composite-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_vehicle-mapping-composite-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vehicle-mapping-composite-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_vehicle-mapping-composite-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-mapping-composite-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_vehicle-mapping-composite-service/dashboard/README.md b/BMW-Dynatrace-config/CD_vehicle-mapping-composite-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_vehicle-mapping-composite-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-mapping-composite-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_vehicle-mapping-composite-service/management-zone/README.md b/BMW-Dynatrace-config/CD_vehicle-mapping-composite-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_vehicle-mapping-composite-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-mapping-composite-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_vehicle-mapping-composite-service/notification/README.md b/BMW-Dynatrace-config/CD_vehicle-mapping-composite-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_vehicle-mapping-composite-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-mapping-composite-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_vehicle-mapping-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vehicle-mapping-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_vehicle-mapping-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-mapping-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_vehicle-mapping-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vehicle-mapping-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_vehicle-mapping-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-mapping-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_vehicle-mapping-service/dashboard/README.md b/BMW-Dynatrace-config/CD_vehicle-mapping-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_vehicle-mapping-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-mapping-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_vehicle-mapping-service/management-zone/README.md b/BMW-Dynatrace-config/CD_vehicle-mapping-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_vehicle-mapping-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-mapping-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_vehicle-mapping-service/notification/README.md b/BMW-Dynatrace-config/CD_vehicle-mapping-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_vehicle-mapping-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-mapping-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_vehicle-remote-commands-composite-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vehicle-remote-commands-composite-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_vehicle-remote-commands-composite-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-remote-commands-composite-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_vehicle-remote-commands-composite-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vehicle-remote-commands-composite-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_vehicle-remote-commands-composite-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-remote-commands-composite-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_vehicle-remote-commands-composite-service/dashboard/README.md b/BMW-Dynatrace-config/CD_vehicle-remote-commands-composite-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_vehicle-remote-commands-composite-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-remote-commands-composite-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_vehicle-remote-commands-composite-service/management-zone/README.md b/BMW-Dynatrace-config/CD_vehicle-remote-commands-composite-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_vehicle-remote-commands-composite-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-remote-commands-composite-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_vehicle-remote-commands-composite-service/notification/README.md b/BMW-Dynatrace-config/CD_vehicle-remote-commands-composite-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_vehicle-remote-commands-composite-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-remote-commands-composite-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_vehicle-service-alert/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vehicle-service-alert/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_vehicle-service-alert/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-service-alert/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_vehicle-service-alert/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vehicle-service-alert/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_vehicle-service-alert/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-service-alert/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_vehicle-service-alert/dashboard/README.md b/BMW-Dynatrace-config/CD_vehicle-service-alert/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_vehicle-service-alert/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-service-alert/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_vehicle-service-alert/management-zone/README.md b/BMW-Dynatrace-config/CD_vehicle-service-alert/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_vehicle-service-alert/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-service-alert/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_vehicle-service-alert/notification/README.md b/BMW-Dynatrace-config/CD_vehicle-service-alert/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_vehicle-service-alert/notification/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-service-alert/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_vehicle-service-background/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vehicle-service-background/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_vehicle-service-background/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-service-background/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_vehicle-service-background/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vehicle-service-background/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_vehicle-service-background/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-service-background/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_vehicle-service-background/dashboard/README.md b/BMW-Dynatrace-config/CD_vehicle-service-background/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_vehicle-service-background/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-service-background/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_vehicle-service-background/management-zone/README.md b/BMW-Dynatrace-config/CD_vehicle-service-background/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_vehicle-service-background/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-service-background/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_vehicle-service-background/notification/README.md b/BMW-Dynatrace-config/CD_vehicle-service-background/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_vehicle-service-background/notification/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-service-background/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_vehicle-service-staging/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vehicle-service-staging/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_vehicle-service-staging/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-service-staging/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_vehicle-service-staging/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vehicle-service-staging/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_vehicle-service-staging/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-service-staging/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_vehicle-service-staging/dashboard/README.md b/BMW-Dynatrace-config/CD_vehicle-service-staging/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_vehicle-service-staging/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-service-staging/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_vehicle-service-staging/management-zone/README.md b/BMW-Dynatrace-config/CD_vehicle-service-staging/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_vehicle-service-staging/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-service-staging/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_vehicle-service-staging/notification/README.md b/BMW-Dynatrace-config/CD_vehicle-service-staging/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_vehicle-service-staging/notification/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-service-staging/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_vehicle-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vehicle-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_vehicle-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_vehicle-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vehicle-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_vehicle-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_vehicle-service/dashboard/README.md b/BMW-Dynatrace-config/CD_vehicle-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_vehicle-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_vehicle-service/management-zone/README.md b/BMW-Dynatrace-config/CD_vehicle-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_vehicle-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_vehicle-service/notification/README.md b/BMW-Dynatrace-config/CD_vehicle-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_vehicle-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_vehicle-shadow-event-processor/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vehicle-shadow-event-processor/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_vehicle-shadow-event-processor/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-shadow-event-processor/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_vehicle-shadow-event-processor/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vehicle-shadow-event-processor/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_vehicle-shadow-event-processor/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-shadow-event-processor/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_vehicle-shadow-event-processor/dashboard/README.md b/BMW-Dynatrace-config/CD_vehicle-shadow-event-processor/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_vehicle-shadow-event-processor/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-shadow-event-processor/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_vehicle-shadow-event-processor/management-zone/README.md b/BMW-Dynatrace-config/CD_vehicle-shadow-event-processor/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_vehicle-shadow-event-processor/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-shadow-event-processor/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_vehicle-shadow-event-processor/notification/README.md b/BMW-Dynatrace-config/CD_vehicle-shadow-event-processor/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_vehicle-shadow-event-processor/notification/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-shadow-event-processor/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_vehicle-status-proxy-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vehicle-status-proxy-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_vehicle-status-proxy-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-status-proxy-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_vehicle-status-proxy-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vehicle-status-proxy-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_vehicle-status-proxy-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-status-proxy-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_vehicle-status-proxy-service/dashboard/README.md b/BMW-Dynatrace-config/CD_vehicle-status-proxy-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_vehicle-status-proxy-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-status-proxy-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_vehicle-status-proxy-service/management-zone/README.md b/BMW-Dynatrace-config/CD_vehicle-status-proxy-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_vehicle-status-proxy-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-status-proxy-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_vehicle-status-proxy-service/notification/README.md b/BMW-Dynatrace-config/CD_vehicle-status-proxy-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_vehicle-status-proxy-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-status-proxy-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_vehicle-user-relationship-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vehicle-user-relationship-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_vehicle-user-relationship-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-user-relationship-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_vehicle-user-relationship-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vehicle-user-relationship-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_vehicle-user-relationship-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-user-relationship-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_vehicle-user-relationship-service/dashboard/README.md b/BMW-Dynatrace-config/CD_vehicle-user-relationship-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_vehicle-user-relationship-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-user-relationship-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_vehicle-user-relationship-service/management-zone/README.md b/BMW-Dynatrace-config/CD_vehicle-user-relationship-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_vehicle-user-relationship-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-user-relationship-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_vehicle-user-relationship-service/notification/README.md b/BMW-Dynatrace-config/CD_vehicle-user-relationship-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_vehicle-user-relationship-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_vehicle-user-relationship-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_vin-list-generator-service/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vin-list-generator-service/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_vin-list-generator-service/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_vin-list-generator-service/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_vin-list-generator-service/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vin-list-generator-service/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_vin-list-generator-service/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_vin-list-generator-service/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_vin-list-generator-service/dashboard/README.md b/BMW-Dynatrace-config/CD_vin-list-generator-service/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_vin-list-generator-service/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_vin-list-generator-service/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_vin-list-generator-service/management-zone/README.md b/BMW-Dynatrace-config/CD_vin-list-generator-service/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_vin-list-generator-service/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_vin-list-generator-service/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_vin-list-generator-service/notification/README.md b/BMW-Dynatrace-config/CD_vin-list-generator-service/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_vin-list-generator-service/notification/README.md +++ b/BMW-Dynatrace-config/CD_vin-list-generator-service/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_vps-admin/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-admin/dashboard/README.md b/BMW-Dynatrace-config/CD_vps-admin/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_vps-admin/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_vps-admin/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_vps-admin/management-zone/README.md b/BMW-Dynatrace-config/CD_vps-admin/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_vps-admin/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_vps-admin/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_vps-admin/notification/README.md b/BMW-Dynatrace-config/CD_vps-admin/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_vps-admin/notification/README.md +++ b/BMW-Dynatrace-config/CD_vps-admin/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_vps-archive/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-archive/dashboard/README.md b/BMW-Dynatrace-config/CD_vps-archive/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_vps-archive/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_vps-archive/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_vps-archive/management-zone/README.md b/BMW-Dynatrace-config/CD_vps-archive/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_vps-archive/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_vps-archive/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_vps-archive/notification/README.md b/BMW-Dynatrace-config/CD_vps-archive/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_vps-archive/notification/README.md +++ b/BMW-Dynatrace-config/CD_vps-archive/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_vps-monitor/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-monitor/dashboard/README.md b/BMW-Dynatrace-config/CD_vps-monitor/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_vps-monitor/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_vps-monitor/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_vps-monitor/management-zone/README.md b/BMW-Dynatrace-config/CD_vps-monitor/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_vps-monitor/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_vps-monitor/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_vps-monitor/notification/README.md b/BMW-Dynatrace-config/CD_vps-monitor/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_vps-monitor/notification/README.md +++ b/BMW-Dynatrace-config/CD_vps-monitor/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_vps-prov/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-prov/dashboard/README.md b/BMW-Dynatrace-config/CD_vps-prov/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_vps-prov/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_vps-prov/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_vps-prov/management-zone/README.md b/BMW-Dynatrace-config/CD_vps-prov/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_vps-prov/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_vps-prov/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_vps-prov/notification/README.md b/BMW-Dynatrace-config/CD_vps-prov/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_vps-prov/notification/README.md +++ b/BMW-Dynatrace-config/CD_vps-prov/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Problem+Notification+Integrations) page to configure your notification systems. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Process+Group+Naming) page to configure your process groups. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_vps-trigger/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +Please refer to [this](https://atc.bmwgroup.net/confluence/display/OPMAAS/Documentation+%7C+Service+Naming) page to configure your service naming. \ No newline at end of file diff --git a/BMW-Dynatrace-config/CD_vps-trigger/dashboard/README.md b/BMW-Dynatrace-config/CD_vps-trigger/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_vps-trigger/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_vps-trigger/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_vps-trigger/management-zone/README.md b/BMW-Dynatrace-config/CD_vps-trigger/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_vps-trigger/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_vps-trigger/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_vps-trigger/notification/README.md b/BMW-Dynatrace-config/CD_vps-trigger/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_vps-trigger/notification/README.md +++ b/BMW-Dynatrace-config/CD_vps-trigger/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_vs-api/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_vs-api/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_vs-api/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_vs-api/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_vs-api/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_vs-api/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_vs-api/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_vs-api/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_vs-api/dashboard/README.md b/BMW-Dynatrace-config/CD_vs-api/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_vs-api/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_vs-api/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_vs-api/management-zone/README.md b/BMW-Dynatrace-config/CD_vs-api/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_vs-api/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_vs-api/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_vs-api/notification/README.md b/BMW-Dynatrace-config/CD_vs-api/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_vs-api/notification/README.md +++ b/BMW-Dynatrace-config/CD_vs-api/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_webapi/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_webapi/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_webapi/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_webapi/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_webapi/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_webapi/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_webapi/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_webapi/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_webapi/dashboard/README.md b/BMW-Dynatrace-config/CD_webapi/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_webapi/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_webapi/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_webapi/management-zone/README.md b/BMW-Dynatrace-config/CD_webapi/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_webapi/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_webapi/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_webapi/notification/README.md b/BMW-Dynatrace-config/CD_webapi/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_webapi/notification/README.md +++ b/BMW-Dynatrace-config/CD_webapi/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_wlmanager/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_wlmanager/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_wlmanager/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_wlmanager/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_wlmanager/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_wlmanager/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_wlmanager/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_wlmanager/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_wlmanager/dashboard/README.md b/BMW-Dynatrace-config/CD_wlmanager/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_wlmanager/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_wlmanager/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_wlmanager/management-zone/README.md b/BMW-Dynatrace-config/CD_wlmanager/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_wlmanager/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_wlmanager/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_wlmanager/notification/README.md b/BMW-Dynatrace-config/CD_wlmanager/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_wlmanager/notification/README.md +++ b/BMW-Dynatrace-config/CD_wlmanager/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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_xfcd/conditional-naming-processgroup/README.md b/BMW-Dynatrace-config/CD_xfcd/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/BMW-Dynatrace-config/CD_xfcd/conditional-naming-processgroup/README.md +++ b/BMW-Dynatrace-config/CD_xfcd/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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_xfcd/conditional-naming-service/README.md b/BMW-Dynatrace-config/CD_xfcd/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/BMW-Dynatrace-config/CD_xfcd/conditional-naming-service/README.md +++ b/BMW-Dynatrace-config/CD_xfcd/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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_xfcd/dashboard/README.md b/BMW-Dynatrace-config/CD_xfcd/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/BMW-Dynatrace-config/CD_xfcd/dashboard/README.md +++ b/BMW-Dynatrace-config/CD_xfcd/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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_xfcd/management-zone/README.md b/BMW-Dynatrace-config/CD_xfcd/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/BMW-Dynatrace-config/CD_xfcd/management-zone/README.md +++ b/BMW-Dynatrace-config/CD_xfcd/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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_xfcd/notification/README.md b/BMW-Dynatrace-config/CD_xfcd/notification/README.md index e1a6af84..37cb85bc 100644 --- a/BMW-Dynatrace-config/CD_xfcd/notification/README.md +++ b/BMW-Dynatrace-config/CD_xfcd/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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/onboarding/CD_managementZone/conditional-naming-processgroup/README.md b/onboarding/CD_managementZone/conditional-naming-processgroup/README.md index f94196a5..519727bf 100644 --- a/onboarding/CD_managementZone/conditional-naming-processgroup/README.md +++ b/onboarding/CD_managementZone/conditional-naming-processgroup/README.md @@ -1,67 +1,4 @@ -### Process Group Detection Rules and Naming -#### Detection Rule or Naming? +### How to configure process groups? -For the explanation, we're using a real example of the Infotainment application: - -!(PGNaming1)[../../../../img/PGNaming1.PNG] - -Before working with your dashboards and alerting profiles, an important task to do when working with Dynatrace is checking -the structure of your applications (process groups). You can do that clicking under *technologies* and filter using your -application Management Zone. - -In the picture above, there are two Process Groups called bon-information-prod. **If you see duplicated process groups like in** -**this case, you MUST follow this guideline** - -Next step would be to open both process groups and compare the metadata. In that way, you can identify if all process instances are -part of the same application or not. An easy way to do that is asking yourself: how many instances of my application do i have? - -If you have 4 instances in total and you're able to see 2 in one PG and other 2 in other PG it means that **they are part of the ** -**same application** - -Another situation could be that checking on the metadata, then you see that are **two different application** and Dynatrace is just naming -the process group in the same way - -*Same application* -- Problem: Dynatrace is creating two different process groups, what transalates in two separated services for the same application. Instead of -seeing all the traffic in one service, you will have it splitted and it will complicate your monitoring -- Solution: create a process group detection rule. Contact Dynatrace Expert - -*Different application* -- Problem: Dynatrace is just naming in the same way applications that are different. -- Solution: This case is less severe, since it can be fixed with a process group naming rule. - - -What about our example? -!(PGNaming2)[../../../../img/PGNaming2.PNG] -!(PGNaming3)[../../../../img/PGNaming3.PNG] - -Based on the feedback of the infotaiment team, each process group is a different application (microservice) and it's visible in the kubernetes container/workload -within the metadata of each Process Group. - -#### How to create a Process Group Detection Rule -1. Open the *conditional-naming-processgroup.yaml* file and create a rule that looks like this: -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName} -- tag: Infotainment -- skipDeployment: false -``` -The result of the rule will be renaming the PG to this: -``` -bon-information-prod ipa -bon-information-prod rsl -``` - -Other possible placeholders that you can use are for example: -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesContainerName/[^\\-]*$} -{ProcessGroup:KubernetesNamespace} - {ProcessGroup:KubernetesFullPodName/buffet-(.*?)-} -{ProcessGroup:DetectedName} - {HostGroup:Name/[^\\_]*$} -{ProcessGroup:KubernetesNamespace} -{ProcessGroup:CommandLineArgs/.*?\\-f\\s\\/www\\/(.*?)\\/generated\\/httpd\\.conf.*?} - -You can combine different ones. Check the (documentation)[link] for more \ No newline at end of file +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/onboarding/CD_managementZone/conditional-naming-service/README.md b/onboarding/CD_managementZone/conditional-naming-service/README.md index c34ef308..b6f10ae1 100644 --- a/onboarding/CD_managementZone/conditional-naming-service/README.md +++ b/onboarding/CD_managementZone/conditional-naming-service/README.md @@ -1,35 +1,4 @@ -### Service Naming Rules -A typical case could be that you access to *Transaction & Services* and you find two services that are exactly the same: -*DataDownloadV1* -*DataDownloadV1* +### How to configure service naming -If you drilldown into the service and you check in the process group, you may have a PROD and a E2E for each service. - -*Note: if you see that both process group are exactly the same, please contact a Dynatrace expert to create a Process* -*Group detection rule* - -In the case the PG are PROD and E2E, then we need to create a rule that looks like this: - -``` -config: -- CDInfotainmentRule1: template.json - -CDInfotainmentRule1: -- name: Infotainment Rule 1 -- nameFormat: {Service:DetectedName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -- tag: Infotainment -- skipDeployment: false -``` - -The rule will get the Service Detected Name (current name) and it will extract (with a regex) the part of the kubernetes namespace after the "-", so -prod or -e2e, resulting in: -*DataDownloadV1 - prod* -*DataDownloadV1 - e2e* - -Now, services will be easy to identify. - -You can create rules based on any property/metadata. Some other placeholder's eamples: -{Service:DatabaseName} - E2E -{Service:WebServiceName} - {ProcessGroup:Kubernetes:microservice} - {ProcessGroup:Kubernetes:environment} -{Service:DetectedName} - {ProcessGroup:KubernetesContainerName} - {ProcessGroup:KubernetesNamespace/[^-]+$} -{Service:DetectedName} - {ProcessGroup:SpringBootProfileName/[^\\-]*$} \ No newline at end of file +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/onboarding/CD_managementZone/dashboard/README.md b/onboarding/CD_managementZone/dashboard/README.md index dffcdc8a..f2f821ec 100644 --- a/onboarding/CD_managementZone/dashboard/README.md +++ b/onboarding/CD_managementZone/dashboard/README.md @@ -1,13 +1,4 @@ -## Update dashboard configuration -- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco. -- How to generate changes in your dashboards? - 1. Modify the dashboard within the Dynatrace UI with the intended changes. - 2. Copy the JSON of the dashboards. (Can be found under the dashboard settings) - 3. Paste the copied JSON under the Monaco JSON, overwrite it. - 4. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` \ No newline at end of file +### 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/onboarding/CD_managementZone/management-zone/README.md b/onboarding/CD_managementZone/management-zone/README.md index 3244b3e6..3716858c 100644 --- a/onboarding/CD_managementZone/management-zone/README.md +++ b/onboarding/CD_managementZone/management-zone/README.md @@ -1,76 +1,4 @@ -## Management Zones configuration -### Excluding noisy services +### How to configure management zones? -*If you find services that are not relevant for the analysis, you can exclude them from the MZ.* - -#### HealthResource, PingResource, PrometheusResource services - -*After the deployment of the OneAgent, your services should appear under Transactions & Services. A good practice would be to exclude* -*the ones that are not relevant for monitoring. i.e. For some BMW's teams, HealthResource, PingResource, PrometheusResource have been excluded.* - -**How to exclude HealthResource?** -1. Open the file *default.json* configuration under the *CD_/management-zone/* folder. -2. Copy the following rule template: - ``` - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - ``` -2. Add it under the `"type": "SERVICE"` rule's conditions. It should look like this: - ``` - { - "conditions": [ - { - "comparisonInfo": { - "negate": false, - "operator": "EQUALS", - "type": "TAG", - "value": { - "context": "CONTEXTLESS", - "key": "Component", - "value": "{{.tag}}" - }, - { - "comparisonInfo": { - "caseSensitive": true, - "negate": true, - "operator": "CONTAINS", - "type": "STRING", - "value": "HealthResource" - }, - "key": { - "attribute": "SERVICE_NAME" - } - } - }, - "key": { - "attribute": "SERVICE_TAGS" - } - } - ], - "enabled": true, - "propagationTypes": [ - "SERVICE_TO_PROCESS_GROUP_LIKE", - "SERVICE_TO_HOST_LIKE" - ], - "type": "SERVICE" - } - ``` - -3. Commit and pull request to merge the branch to the master: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: you can use the same logic to exclude (or include) any other entity to your Management Zone. +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/onboarding/CD_managementZone/notification/README.md b/onboarding/CD_managementZone/notification/README.md index e1a6af84..37cb85bc 100644 --- a/onboarding/CD_managementZone/notification/README.md +++ b/onboarding/CD_managementZone/notification/README.md @@ -1,60 +1,4 @@ -## Configure Notification System +### How to configure notification systems? -### MS Teams - Default - -*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.* - -1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an -https://empty webhook (not configured). -2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams) -3. Add the incoming webhook under the webhook parameter for the `-PROD.EMEA-Prod`: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: - - skipDeployment: "false" - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` -Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration: -`-.-:` - -### Email - -*The team prefers to be alerted via email, not MS Teams* - -1. Keep the MS Teams integration disabled, with the https://empty webhook: - ``` - -PROD.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - webhook: https://empty - - skipDeployment: "false" - ``` -2. Create a new configuration template under config, using the email template: - ``` - config: - - CDemail: email.json - ``` -3. Describe the configuration below, using the following template: - ``` - CDemail.EMEA-Prod: - - name: CD_ PROD - - alertingProfile: CD_/alerting-profile/CD-PROD.id - - receivers: distributionEmailexample@bmw.de` - ``` -4. Save and commit changes: - ``` - git add - git commit -m " configuration changes" - git push -u origin - ``` - -### ITSM -Coming soon! \ No newline at end of file +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