README.md minor changes

custom-service-JONYR
qxz15oi 2021-03-25 18:25:14 +01:00
parent 5f8a97b8fb
commit d56d553928
3 changed files with 97 additions and 23 deletions

120
README.md
View File

@ -1,42 +1,116 @@
# BMW Monaco
## Dynatrace - Get Started!
If you and your team want to monitor BMW's applications with Dynatrace, please follow these steps:
### Initial Setup
1. Make sure you have access to Dynatrace.
2. Clone this repository in your local machine. With this repo, you will be able to handle all the configuration of your application within Dynatrace.
3. Create a branch of the repo with the following name format: CD_"ApplicationName"
- ApplicationName should have the value of the provided annotation/property DT_CUSTOM_PROP.
5. Execute the onboard.sh script with the following parameters:
*./onboard.sh CD_"ApplicationName" "ApplicationName"*
i.e.
*./onboard.sh CD_Infotainment Infotainment*
To monitor your application with Dynatrace, please follow these steps:
The script will automatically create:
- Management Zone: Used to filter entities. Can be used when navigating in the environment, creating dashboards and alerting profiles.
- Dashboards (PROD, E2E, INT): Based on a template, an initial dashboard with a general overview of the health of the application.
- Alerting Profile (PROD, E2E, INT): It's used to filter specific problems of your applications.
- Notification System: linked to your alerting profile to notify via email, MS Teams, ITSM, etc.
1. Make sure you have access to Dynatrace. If not, follow this [link](https://atc.bmwgroup.net/bitbucket/projects/OPAPM/repos/cd_e2e_monitoring_config/browse/onboarding/CD_newComponentTag/custom-service-java/README.md)
2. Clone repository in your local machine:
4. Open the notification.yaml under the notification folder and add the webhook of the MS Teams you want to be notified
How to create an MS Teams webhook: https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams
5. Open the Component.json file (https://atc.bmwgroup.net/bitbucket/projects/OPAPM/repos/cd_e2e_monitoring_config/browse/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json) and add a rule for your DB
6. Commit and pull request to merge the branch to the master.
`git clone https://atc.bmwgroup.net/bitbucket/scm/opapm/cd_e2e_monitoring_config.git`
Recommended: participate in one of the trainings given by a Dynatrace expert to understand how to use the tool in the most efficient way and the following configuration:
4. Create branch using your Component/Application name with the following format:
7. (optional) [Custom services](https://atc.bmwgroup.net/bitbucket/projects/OPAPM/repos/cd_e2e_monitoring_config/browse/onboarding/CD_newComponentTag/custom-service-java/README.md)
`git checkout -b CD_ApplicationName`
**What value should i use for ApplicationName?**
Previously to the restart of your application to let the OneAgent collect the traces, one of the steps within the implementation checklist is to set up a variable called DT_CUSTOM_PROP. Please use the same value for the ApplicationName.
5. Execute the script passing as parameters, again, the ApplicationName:
`./onboard.sh CD_ApplicationName ApplicationName`
6. (optional) Configure Notification System
- Dynatrace AI automatically detects anomalies in your applications and generate problems, visible within the UI. Dynatrace offers several out-of-the-box integrations with problem notification systems such as Email, MS Teams and ITSM.
- Notification system is not configured by default. If you want to enable it for your application please follow this [link](link).
7. (optional) Add databases to Management Zone
- The script described in step 5 will create the configuration for all entities related to your application (Host, Processes, Services) but not the databases.
- To add your databases into Dynatrace you need to add an extra rule to the [Component.json](https://atc.bmwgroup.net/bitbucket/projects/OPAPM/repos/cd_e2e_monitoring_config/browse/BMW-Dynatrace-config/00_Global-Config/auto-tag/Component.json) file. You can use [this](link) example to understand exactly what you have to do.
8. Commit and pull request to merge the branch to the master:
`git add <changes>`
`git commit -m "ApplicationName configuration changes"`
`git push -u origin <branch>`
### Results
Once the pull request is approved and **BMW Monaco** executes, all the configuration created in the previous steps will be visible in Dynatrace:
#### Primary Configuration
- *Management Zone*
- Used to filter entities.
- Can be used to navigate the environment, filtering in dashboards and alerting profiles.
- You can use the generated MZ clicking on the filter at the top-right corner within the Dynatrace UI.
- Learn how to configure/improve your Management Zone [here](link) ([Do i need to configure it?](link))
![Management Zone](img/MZ.png)
- *Dashboards*
- Based on a template,
- Initial dashboard with a general overview of the health of the application.
- For Prod environements, PROD and E2E dashboards will be generated.
- For PreProd environments, INT dashboard will be generated.
- Learn how to configure/improve your Dashboards [here](link) ([Do i need to configure it?](link))
![Dashboard](img/Dashboard.png)
- *Alerting Profiles*
- Used to filter specific problems related to your applications.
- For Prod environements, PROD and E2E dashboards will be generated.
- For PreProd environments, INT dashboard will be generated.
- Learn how to configure/improve your Alerting Profiles [here](link) ([Do i need to configure it?](link))
- *Notification System*
- For each Alerting Profile, it's possible to set up a separate Notification System.
- For Prod environements, PROD and E2E dashboards will be generated.
- For PreProd environments, INT dashboard will be generated.
- Notification system is not configured by default. If you want to enable it for your application please follow this [link](link).
- Learn how to configure/improve your Notification System [here](link) ([Do i need to configure it?](link))
#### Optional Configuration
The following configuration items are not set up by default. Learn the value that can provide to monitoring within the Dynatrace documentation (links shared below on each item) or in one of our trainings (recommended, BMW specific)
7. (optional) Custom services
- Short description: *If your application services aren't built on standard technologies, they may not be recognized out-of-the box. You can monitor these technologies, but you'll need to define them as custom services with specific service entry points. Another use case for custom services are microservices that are used by a larger application that aren't exposed via communication technologies.*
- [How to configure it in monaco?](link)
- [Custom services - Dynatrace Documentation](https://www.dynatrace.com/support/help/how-to-use-dynatrace/transactions-and-services/configuration/define-custom-services/)
8. (optional) Request Attributes
- Short description: *Dynatrace tracks all requests, from end to end, and automatically monitors the services that underlie each transaction. The performance and attributes of each request can be analyzed in detail. You can even create [custom multi-faceted filters](https://www.dynatrace.com/support/help/how-to-use-dynatrace/transactions-and-services/analysis/service-flow-filtering/ "Service flow filtering") that enable you to analyze call sequences from multiple perspectives. With such advanced request filtering, Dynatrace enables you to slice and dice your way through your requests to find the proverbial “needle in the haystack.” Such filtering isn't only possible on certain predefined attributes. You can also configure custom request attributes that you can use to improve filtering and analysis of problematic web requests.*
- [How to configure it in monaco?](link)
- [Request Attributes - Dynatrace Documentation](https://www.dynatrace.com/support/help/how-to-use-dynatrace/transactions-and-services/basic-concepts/request-attributes/)
9. (optional) Custom metrics
10. (optional) Synthetics?
- Short description: *Dynatrace out-of-the-box metrics generally focus on availability, failure rate, and performance. The [multidimensional analysis view](https://www.dynatrace.com/news/blog/multi-dimensional-analysis-views-for-service-metrics-and-custom-metrics/) for service and custom metrics that enables you to define custom analysis views around use cases that leverage request attributes as metric sources.*
- [How to configure it in monaco?](link)
- [Custom metrics - Dynatrace Documentation](https://www.dynatrace.com/news/blog/custom-metrics-for-services-enrich-dynatrace-ai-and-dashboarding-capabilities-eap/)
10. (optional) Synthetics
- Short description: *Dynatrace Synthetic Monitoring makes it easy for you to monitor the availability and performance of your applications as experienced by your customers around the world and around the clock. Availability is the success rate at a given instant or time period that indicates if your application is fully functional and available to users.*
- [How to configure it in monaco?](link)
- [Synthetics - Dynatrace Documentation](https://www.dynatrace.com/support/help/how-to-use-dynatrace/synthetic-monitoring/)
11. (optional) Naming Rules (Services / Process Groups)
- Short description: *Dynatrace [automatically detects and names your applications server-side services](https://www.dynatrace.com/support/help/how-to-use-dynatrace/transactions-and-services/basic-concepts/service-detection-and-naming/ "Service detection and naming") based on basic properties of your application deployment and configuration. These properties and the resulting service names should be intuitive to you because they reflect your service landscape. In some cases however, the default naming scheme may not be to your liking or may not adequately reflect your service landscape. In other instances, you may want to add certain process or service metadata to a service name to improve usability.*
- [How to configure it in monaco?](link)
- [Naming Rules - Dynatrace Documentation](https://www.dynatrace.com/support/help/how-to-use-dynatrace/transactions-and-services/configuration/customize-service-naming/)
Important! All changes (in dashboards, alerting profiles or any type of configuration) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco.
**Recommended**
- Participate in one of the Dynatrace trainings to understand
- What kind of changes in the configuration are possible and how it's going to improve monitoring.
- Hands on in how to work with Monaco
- How to use Dynatrace in the most efficient.
**Important**
- Changes (in dashboards, alerting profiles or any type of configuration) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco.
If you have any problems in the steps mentioned above, please contact opapm@bmw.de
## (Dynatrace Admins) Testing Monaco - Tokens needed
## (Dynatrace Admins) Testing
This guide contain the steps to set up monaco and automatically onboard and application called "ABC" under the MZ "CD_ABC"
1. Clone repository in your local machine.

BIN
img/Dashboard.PNG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

BIN
img/MZ.PNG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB