runtime/openshift onboardings
parent
e648a9987c
commit
aa343f1285
|
|
@ -1,6 +1,88 @@
|
||||||
CDagent-service:
|
config:
|
||||||
- name: CD_agent-service/management-zone/CDagent-service.name
|
- CDagent-service-PROD: default.json
|
||||||
|
- CDagent-service-E2E: default.json
|
||||||
|
- CDagent-service-INT: default.json
|
||||||
|
|
||||||
|
#Prod dashboards for EMEA/NA/CN
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDagent-service-PROD:
|
||||||
|
- name: CD_agent-service PROD
|
||||||
- tag: agent-service
|
- tag: agent-service
|
||||||
- mzId: CD_agent-service/management-zone/CDagent-service.id
|
- mzId: CD_agent-service/management-zone/CDagent-service.id
|
||||||
config:
|
- env: PROD
|
||||||
- CDagent-service: agent-service.json
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDagent-service-PROD.EMEA-Prod:
|
||||||
|
- name: CD_agent-service PROD
|
||||||
|
- tag: agent-service
|
||||||
|
- mzId: CD_agent-service/management-zone/CDagent-service.id
|
||||||
|
- env: PROD
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDagent-service-PROD.NA-Prod:
|
||||||
|
- name: CD_agent-service PROD
|
||||||
|
- tag: agent-service
|
||||||
|
- mzId: CD_agent-service/management-zone/CDagent-service.id
|
||||||
|
- env: PROD
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDagent-service-PROD.CN-Prod:
|
||||||
|
- name: CD_agent-service PROD
|
||||||
|
- tag: agent-service
|
||||||
|
- mzId: CD_agent-service/management-zone/CDagent-service.id
|
||||||
|
- env: PROD
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
||||||
|
#E2E dashboards for EMEA/NA/CN
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDagent-service-E2E:
|
||||||
|
- name: CD_agent-service E2E
|
||||||
|
- tag: agent-service
|
||||||
|
- mzId: CD_agent-service/management-zone/CDagent-service.id
|
||||||
|
- env: E2E
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDagent-service-E2E.EMEA-Prod:
|
||||||
|
- name: CD_agent-service E2E
|
||||||
|
- tag: agent-service
|
||||||
|
- mzId: CD_agent-service/management-zone/CDagent-service.id
|
||||||
|
- env: E2E
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDagent-service-E2E.NA-Prod:
|
||||||
|
- name: CD_agent-service E2E
|
||||||
|
- tag: agent-service
|
||||||
|
- mzId: CD_agent-service/management-zone/CDagent-service.id
|
||||||
|
- env: E2E
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDagent-service-E2E.CN-Prod:
|
||||||
|
- name: CD_agent-service E2E
|
||||||
|
- tag: agent-service
|
||||||
|
- mzId: CD_agent-service/management-zone/CDagent-service.id
|
||||||
|
- env: E2E
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
||||||
|
#INT dashboards for EMEA/NA/CN
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDagent-service-INT:
|
||||||
|
- name: CD_agent-service INT
|
||||||
|
- tag: agent-service
|
||||||
|
- mzId: CD_agent-service/management-zone/CDagent-service.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDagent-service-INT.EMEA-PreProd:
|
||||||
|
- name: CD_agent-service INT
|
||||||
|
- tag: agent-service
|
||||||
|
- mzId: CD_agent-service/management-zone/CDagent-service.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDagent-service-INT.NA-PreProd:
|
||||||
|
- name: CD_agent-service INT
|
||||||
|
- tag: agent-service
|
||||||
|
- mzId: CD_agent-service/management-zone/CDagent-service.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDagent-service-INT.CN-PreProd:
|
||||||
|
- name: CD_agent-service INT
|
||||||
|
- tag: agent-service
|
||||||
|
- mzId: CD_agent-service/management-zone/CDagent-service.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
@ -8,12 +8,17 @@
|
||||||
"delayInMinutes": 0,
|
"delayInMinutes": 0,
|
||||||
"severityLevel": "AVAILABILITY",
|
"severityLevel": "AVAILABILITY",
|
||||||
"tagFilter": {
|
"tagFilter": {
|
||||||
"includeMode": "INCLUDE_ANY",
|
"includeMode": "INCLUDE_ALL",
|
||||||
"tagFilters": [
|
"tagFilters": [
|
||||||
{
|
{
|
||||||
"context": "CONTEXTLESS",
|
"context": "CONTEXTLESS",
|
||||||
"key": "Component",
|
"key": "Component",
|
||||||
"value": "{{.tag}}"
|
"value": "{{.tag}}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Environment",
|
||||||
|
"value": "{{.env}}"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -22,12 +27,17 @@
|
||||||
"delayInMinutes": 10,
|
"delayInMinutes": 10,
|
||||||
"severityLevel": "ERROR",
|
"severityLevel": "ERROR",
|
||||||
"tagFilter": {
|
"tagFilter": {
|
||||||
"includeMode": "INCLUDE_ANY",
|
"includeMode": "INCLUDE_ALL",
|
||||||
"tagFilters": [
|
"tagFilters": [
|
||||||
{
|
{
|
||||||
"context": "CONTEXTLESS",
|
"context": "CONTEXTLESS",
|
||||||
"key": "Component",
|
"key": "Component",
|
||||||
"value": "{{.tag}}"
|
"value": "{{.tag}}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Environment",
|
||||||
|
"value": "{{.env}}"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -36,12 +46,17 @@
|
||||||
"delayInMinutes": 30,
|
"delayInMinutes": 30,
|
||||||
"severityLevel": "PERFORMANCE",
|
"severityLevel": "PERFORMANCE",
|
||||||
"tagFilter": {
|
"tagFilter": {
|
||||||
"includeMode": "INCLUDE_ANY",
|
"includeMode": "INCLUDE_ALL",
|
||||||
"tagFilters": [
|
"tagFilters": [
|
||||||
{
|
{
|
||||||
"context": "CONTEXTLESS",
|
"context": "CONTEXTLESS",
|
||||||
"key": "Component",
|
"key": "Component",
|
||||||
"value": "{{.tag}}"
|
"value": "{{.tag}}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Environment",
|
||||||
|
"value": "{{.env}}"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -50,12 +65,17 @@
|
||||||
"delayInMinutes": 30,
|
"delayInMinutes": 30,
|
||||||
"severityLevel": "RESOURCE_CONTENTION",
|
"severityLevel": "RESOURCE_CONTENTION",
|
||||||
"tagFilter": {
|
"tagFilter": {
|
||||||
"includeMode": "INCLUDE_ANY",
|
"includeMode": "INCLUDE_ALL",
|
||||||
"tagFilters": [
|
"tagFilters": [
|
||||||
{
|
{
|
||||||
"context": "CONTEXTLESS",
|
"context": "CONTEXTLESS",
|
||||||
"key": "Component",
|
"key": "Component",
|
||||||
"value": "{{.tag}}"
|
"value": "{{.tag}}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Environment",
|
||||||
|
"value": "{{.env}}"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -64,26 +84,17 @@
|
||||||
"delayInMinutes": 10,
|
"delayInMinutes": 10,
|
||||||
"severityLevel": "CUSTOM_ALERT",
|
"severityLevel": "CUSTOM_ALERT",
|
||||||
"tagFilter": {
|
"tagFilter": {
|
||||||
"includeMode": "INCLUDE_ANY",
|
"includeMode": "INCLUDE_ALL",
|
||||||
"tagFilters": [
|
"tagFilters": [
|
||||||
{
|
{
|
||||||
"context": "CONTEXTLESS",
|
"context": "CONTEXTLESS",
|
||||||
"key": "Component",
|
"key": "Component",
|
||||||
"value": "{{.tag}}"
|
"value": "{{.tag}}"
|
||||||
}
|
},
|
||||||
]
|
{
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"delayInMinutes": 0,
|
|
||||||
"severityLevel": "MONITORING_UNAVAILABLE",
|
|
||||||
"tagFilter": {
|
|
||||||
"includeMode": "INCLUDE_ANY",
|
|
||||||
"tagFilters": [
|
|
||||||
{
|
|
||||||
"context": "CONTEXTLESS",
|
"context": "CONTEXTLESS",
|
||||||
"key": "Component",
|
"key": "Environment",
|
||||||
"value": "{{.tag}}"
|
"value": "{{.env}}"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
## Custom metrics - Multidimensional Analysis
|
||||||
|
|
||||||
|
Under the Multidimensional Analysis you're able to save a view but not to create a metric. Instead, you can do it in here:
|
||||||
|
|
||||||
|
1. Create the metric within the Dynatrace UI using the Mutidimensional Analysis view.
|
||||||
|
2. Save the view and create a ticket for the OPAPM team [here](link). Please provide the following information:
|
||||||
|
- View created in the Dynatrace UI
|
||||||
|
- Your Dynatrace configuration folder (i.e. CD_<app_name>)
|
||||||
|
|
||||||
|
The OPAPM team will proceed creating the metric and updating your configuration in monaco.
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
|
||||||
|
## What is a custom service in Dynatrace?
|
||||||
|
- *If your application's 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 create a custom service?
|
||||||
|
1. Open the file *custom-service-java.yaml* under your *CD_<app_name>/custom-service-java* configuration folder.
|
||||||
|
2. Use customService1 as a template. Copy and paste it below, changing the skipDeployment to "false".
|
||||||
|
3. Fill up all the remaining inputs with the details of the endpoint you're interested to monitor. (className, methodName, etc...)
|
||||||
|
4. Commit and pull request to merge the branch to the master:
|
||||||
|
`git add <changes>`
|
||||||
|
`git commit -m "<app_name> configuration changes"`
|
||||||
|
`git push -u origin <branch>`
|
||||||
|
5. Restart the application where the custom service has been created.
|
||||||
|
6. Check if the custom service appears in Dynatrace.
|
||||||
|
|
||||||
|
Notes:
|
||||||
|
- As this configuration needs a restart, it's better to create it in a non-Prod application.
|
||||||
|
- The custom service will appear in Dynatrace iff there's traffic going through.
|
||||||
|
|
||||||
|
## What if i have multiple classes?
|
||||||
|
1. Clone *template-1-1.json* to a new one called *template-2-1.json*.
|
||||||
|
2. Edit *template-2-1.json* adding a 2nd rule separated with a coma.
|
||||||
|
3. For the 2nd rule, change the name of the {{.values}} to {{.values2}} i.e.
|
||||||
|
4. The template is ready to be used in the YAML file.
|
||||||
|
|
||||||
|
## What if i have multiple methods?
|
||||||
|
1. Same process as before, just call it template-1-2.json
|
||||||
|
2. In this way you can extend to a custom service with n classes and k methods: template-n-k.json
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
config:
|
||||||
|
- customService1: template-1-1.json
|
||||||
|
|
||||||
|
customService1:
|
||||||
|
- name: myJOYNRService
|
||||||
|
- className: com.bmw.cc.conn.this.is.just.an.exampleClasss
|
||||||
|
- methodName: exampleJoynrMethod
|
||||||
|
- returnType: void
|
||||||
|
- skipDeployment: "true"
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
{
|
||||||
|
"enabled": true,
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"processGroups": [],
|
||||||
|
"queueEntryPoint": false,
|
||||||
|
"queueEntryPointType": null,
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"annotations": [],
|
||||||
|
"className": "{{.className}}",
|
||||||
|
"enabled": true,
|
||||||
|
"fileName": "",
|
||||||
|
"matcher": "EQUALS",
|
||||||
|
"methodRules": [
|
||||||
|
{
|
||||||
|
"argumentTypes": [],
|
||||||
|
"methodName": "{{.methodName}}",
|
||||||
|
"returnType": "{{.returnType}}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
## Update dashboard configuration
|
||||||
|
|
||||||
|
- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco.
|
||||||
|
- How to generate changes in your dashboards?
|
||||||
|
1. Modify the dashboard within the Dynatrace UI with the intended changes.
|
||||||
|
2. Copy the JSON of the dashboards. (Can be found under the dashboard settings)
|
||||||
|
3. Paste the copied JSON under the Monaco JSON, overwrite it.
|
||||||
|
4. Commit and pull request to merge the branch to the master:
|
||||||
|
```
|
||||||
|
git add <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
config:
|
||||||
|
- CDagent-service-PROD-E2E: defaultPRODE2E.json
|
||||||
|
- CDagent-service-INT-TEST: defaultINTTEST.json
|
||||||
|
|
||||||
|
#PROD-E2E dashboards for EMEA/NA/CN Prod
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDagent-service-PROD-E2E:
|
||||||
|
- name: CD_agent-service PROD
|
||||||
|
- mzName: CD_agent-service/management-zone/CDagent-service.name
|
||||||
|
- mzId: CD_agent-service/management-zone/CDagent-service.id
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDagent-service-PROD-E2E.EMEA-Prod:
|
||||||
|
- name: CD_agent-service PROD
|
||||||
|
- mzName: CD_agent-service/management-zone/CDagent-service.name
|
||||||
|
- mzId: CD_agent-service/management-zone/CDagent-service.id
|
||||||
|
- tag: agent-service
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDagent-service-PROD-E2E.NA-Prod:
|
||||||
|
- name: CD_agent-service PROD
|
||||||
|
- mzName: CD_agent-service/management-zone/CDagent-service.name
|
||||||
|
- mzId: CD_agent-service/management-zone/CDagent-service.id
|
||||||
|
- tag: agent-service
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDagent-service-PROD-E2E.CN-Prod:
|
||||||
|
- name: CD_agent-service PROD
|
||||||
|
- mzName: CD_agent-service/management-zone/CDagent-service.name
|
||||||
|
- mzId: CD_agent-service/management-zone/CDagent-service.id
|
||||||
|
- tag: agent-service
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
||||||
|
|
||||||
|
#INT-TEST dashboards for EMEA/NA/CN PreProd
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDagent-service-INT-TEST:
|
||||||
|
- name: CD_agent-service INT-TEST
|
||||||
|
- mzName: CD_agent-service/management-zone/CDagent-service.name
|
||||||
|
- mzId: CD_agent-service/management-zone/CDagent-service.id
|
||||||
|
- tag: agent-service
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDagent-service-INT-TEST.EMEA-PreProd:
|
||||||
|
- name: CD_agent-service INT-TEST
|
||||||
|
- mzName: CD_agent-service/management-zone/CDagent-service.name
|
||||||
|
- mzId: CD_agent-service/management-zone/CDagent-service.id
|
||||||
|
- tag: agent-service
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDagent-service-INT-TEST.NA-PreProd:
|
||||||
|
- name: CD_agent-service INT-TEST
|
||||||
|
- mzName: CD_agent-service/management-zone/CDagent-service.name
|
||||||
|
- mzId: CD_agent-service/management-zone/CDagent-service.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDagent-service-INT-TEST.CN-PreProd:
|
||||||
|
- name: CD_agent-service INT-TEST
|
||||||
|
- mzName: CD_agent-service/management-zone/CDagent-service.name
|
||||||
|
- mzId: CD_agent-service/management-zone/CDagent-service.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
@ -0,0 +1,586 @@
|
||||||
|
{
|
||||||
|
"metadata": {
|
||||||
|
"configurationVersions": [
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"clusterVersion": "1.213.116.20210318-174118"
|
||||||
|
},
|
||||||
|
"dashboardMetadata": {
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"shared": false,
|
||||||
|
"owner": "Ignacio.Goldman@partner.bmwgroup.com",
|
||||||
|
"dashboardFilter": {
|
||||||
|
"managementZone": {
|
||||||
|
"id": "{{.mzId}}",
|
||||||
|
"name": "{{.mzName}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tags": [
|
||||||
|
"{{.mzName}}"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"tiles": [
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 380,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 266
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Failure rate (HTTP 4xx/5xx errors)",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fourxx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fivexx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595276148986,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Problems",
|
||||||
|
"tileType": "OPEN_PROBLEMS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 114,
|
||||||
|
"left": 1596,
|
||||||
|
"width": 152,
|
||||||
|
"height": 152
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "SERVICES",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 1064,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "SERVICE",
|
||||||
|
"customName": "Services",
|
||||||
|
"defaultName": "Services",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Overall Health - INT",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 38,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Markdown",
|
||||||
|
"tileType": "MARKDOWN",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 684,
|
||||||
|
"left": 38,
|
||||||
|
"width": 1520,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"markdown": "---\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Service1 - TEST",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 722,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 760,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 304
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Response time, Throughput and Number of Errors",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.response.time",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "LINE",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.requestCount.total",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.total.count",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275720776,
|
||||||
|
"customColor": "#008cdb"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275955999,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": {
|
||||||
|
"lastModified": 1595275686773,
|
||||||
|
"customColor": "#b4e5f9"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Service1 - INT",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 722,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 760,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 304
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Response time, Throughput and Number of Errors",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.response.time",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "LINE",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.requestCount.total",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.total.count",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275720776,
|
||||||
|
"customColor": "#008cdb"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275955999,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": {
|
||||||
|
"lastModified": 1595275686773,
|
||||||
|
"customColor": "#b4e5f9"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 380,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 266
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Failure rate (HTTP 4xx/5xx errors)",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fourxx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fivexx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595276148986,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Markdown",
|
||||||
|
"tileType": "MARKDOWN",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 304,
|
||||||
|
"left": 38,
|
||||||
|
"width": 1520,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"markdown": "---\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Failure rate - TEST (HTTP 4xx/5xx errors)",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 342,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Failure rate - INT (HTTP 4xx/5xx errors)",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 342,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "DATABASES_OVERVIEW",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 570,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "DATABASE",
|
||||||
|
"customName": "Databases",
|
||||||
|
"defaultName": "Databases",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"DATABASE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Overall Health - TEST",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 38,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "DATABASES_OVERVIEW",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 1330,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "DATABASE",
|
||||||
|
"customName": "Databases",
|
||||||
|
"defaultName": "Databases",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"DATABASE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "SERVICES",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 304,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "SERVICE",
|
||||||
|
"customName": "Services",
|
||||||
|
"defaultName": "Services",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "HOSTS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 798,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "HOST",
|
||||||
|
"customName": "Hosts",
|
||||||
|
"defaultName": "Hosts",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"HOST": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "HOSTS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 38,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "HOST",
|
||||||
|
"customName": "Hosts",
|
||||||
|
"defaultName": "Hosts",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"HOST": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,300 @@
|
||||||
|
{
|
||||||
|
"metadata": {
|
||||||
|
"configurationVersions": [
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"clusterVersion": "1.213.116.20210318-174118"
|
||||||
|
},
|
||||||
|
"dashboardMetadata": {
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"shared": true,
|
||||||
|
"owner": "Ignacio.Goldman@partner.bmwgroup.com",
|
||||||
|
"dashboardFilter": {
|
||||||
|
"managementZone": {
|
||||||
|
"id": "{{.mzId}}",
|
||||||
|
"name": "{{.mzName}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tags": [
|
||||||
|
"{{.mzName}}"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"tiles": [
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 342,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 266
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Failure rate (HTTP 4xx/5xx errors)",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fourxx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fivexx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595276148986,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:PROD"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Problems",
|
||||||
|
"tileType": "OPEN_PROBLEMS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 836,
|
||||||
|
"width": 152,
|
||||||
|
"height": 152
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Overall Health",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 38,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Markdown",
|
||||||
|
"tileType": "MARKDOWN",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 646,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"markdown": "---\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 684,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 304
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Response time, Throughput and Number of Errors",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.response.time",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "LINE",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.requestCount.total",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.total.count",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275720776,
|
||||||
|
"customColor": "#008cdb"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275955999,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": {
|
||||||
|
"lastModified": 1595275686773,
|
||||||
|
"customColor": "#b4e5f9"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:PROD"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Markdown",
|
||||||
|
"tileType": "MARKDOWN",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 304,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"markdown": "---\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "DATABASES_OVERVIEW",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 570,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "DATABASE",
|
||||||
|
"customName": "Databases",
|
||||||
|
"defaultName": "Databases",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"DATABASE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:PROD",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "SERVICES",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 304,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "SERVICE",
|
||||||
|
"customName": "Services",
|
||||||
|
"defaultName": "Services",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:PROD",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "HOSTS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 38,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "HOST",
|
||||||
|
"customName": "Hosts",
|
||||||
|
"defaultName": "Hosts",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"HOST": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:PROD",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,76 @@
|
||||||
|
## Management Zones configuration
|
||||||
|
|
||||||
|
### Excluding noisy services
|
||||||
|
|
||||||
|
*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_<app_name>/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 <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
Note: you can use the same logic to exclude (or include) any other entity to your Management Zone.
|
||||||
|
|
@ -18,42 +18,6 @@
|
||||||
"key": {
|
"key": {
|
||||||
"attribute": "SERVICE_TAGS"
|
"attribute": "SERVICE_TAGS"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"comparisonInfo": {
|
|
||||||
"caseSensitive": true,
|
|
||||||
"negate": true,
|
|
||||||
"operator": "CONTAINS",
|
|
||||||
"type": "STRING",
|
|
||||||
"value": "HealthResource"
|
|
||||||
},
|
|
||||||
"key": {
|
|
||||||
"attribute": "SERVICE_NAME"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"comparisonInfo": {
|
|
||||||
"caseSensitive": true,
|
|
||||||
"negate": true,
|
|
||||||
"operator": "CONTAINS",
|
|
||||||
"type": "STRING",
|
|
||||||
"value": "PingResource"
|
|
||||||
},
|
|
||||||
"key": {
|
|
||||||
"attribute": "SERVICE_NAME"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"comparisonInfo": {
|
|
||||||
"caseSensitive": true,
|
|
||||||
"negate": true,
|
|
||||||
"operator": "CONTAINS",
|
|
||||||
"type": "STRING",
|
|
||||||
"value": "PrometheusResource"
|
|
||||||
},
|
|
||||||
"key": {
|
|
||||||
"attribute": "SERVICE_NAME"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
|
|
@ -86,6 +50,27 @@
|
||||||
"PROCESS_GROUP_TO_HOST"
|
"PROCESS_GROUP_TO_HOST"
|
||||||
],
|
],
|
||||||
"type": "PROCESS_GROUP"
|
"type": "PROCESS_GROUP"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"comparisonInfo": {
|
||||||
|
"negate": false,
|
||||||
|
"operator": "EQUALS",
|
||||||
|
"type": "TAG",
|
||||||
|
"value": {
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Component",
|
||||||
|
"value": "{{.tag}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"attribute": "HOST_TAGS"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"type": "HOST"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -1,20 +1,6 @@
|
||||||
CDagent-service.CN-PreProd:
|
|
||||||
- name: CD_agent-service
|
|
||||||
- tag: agent-service
|
|
||||||
CDagent-service.CN-Prod:
|
|
||||||
- name: CD_agent-service
|
|
||||||
- tag: agent-service
|
|
||||||
CDagent-service.EMEA-PreProd:
|
|
||||||
- name: CD_agent-service
|
|
||||||
- tag: agent-service
|
|
||||||
CDagent-service.EMEA-Prod:
|
|
||||||
- name: CD_agent-service
|
|
||||||
- tag: agent-service
|
|
||||||
CDagent-service.NA-PreProd:
|
|
||||||
- name: CD_agent-service
|
|
||||||
- tag: agent-service
|
|
||||||
CDagent-service.NA-Prod:
|
|
||||||
- name: CD_agent-service
|
|
||||||
- tag: agent-service
|
|
||||||
config:
|
config:
|
||||||
- CDagent-service: CDagent-service.json
|
- CDagent-service: default.json
|
||||||
|
|
||||||
|
CDagent-service:
|
||||||
|
- name: CD_agent-service
|
||||||
|
- tag: agent-service
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
|
||||||
|
## Configure Notification System
|
||||||
|
|
||||||
|
### MS Teams - Default
|
||||||
|
|
||||||
|
*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.*
|
||||||
|
|
||||||
|
1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an
|
||||||
|
https://empty webhook (not configured).
|
||||||
|
2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams)
|
||||||
|
3. Add the incoming webhook under the webhook parameter for the `<app_name>-PROD.EMEA-Prod`:
|
||||||
|
```
|
||||||
|
<app_name>-PROD.EMEA-Prod:
|
||||||
|
- name: CD_<app_name> PROD
|
||||||
|
- alertingProfile: CD_<app_name>/alerting-profile/CD<app_name>-PROD.id
|
||||||
|
- webhook: <Add webhook here>
|
||||||
|
- skipDeployment: "false"
|
||||||
|
```
|
||||||
|
4. Save and commit changes:
|
||||||
|
```
|
||||||
|
git add <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration:
|
||||||
|
`<app_name>-<stage>.<dynatrace-env>-<stage>:`
|
||||||
|
|
||||||
|
### Email
|
||||||
|
|
||||||
|
*The team prefers to be alerted via email, not MS Teams*
|
||||||
|
|
||||||
|
1. Keep the MS Teams integration disabled, with the https://empty webhook:
|
||||||
|
```
|
||||||
|
<app_name>-PROD.EMEA-Prod:
|
||||||
|
- name: CD_<app_name> PROD
|
||||||
|
- alertingProfile: CD_<app_name>/alerting-profile/CD<app_name>-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
```
|
||||||
|
2. Create a new configuration template under config, using the email template:
|
||||||
|
```
|
||||||
|
config:
|
||||||
|
- CD<app_name>email: email.json
|
||||||
|
```
|
||||||
|
3. Describe the configuration below, using the following template:
|
||||||
|
```
|
||||||
|
CD<app_name>email.EMEA-Prod:
|
||||||
|
- name: CD_<app_name> PROD
|
||||||
|
- alertingProfile: CD_<app_name>/alerting-profile/CD<app_name>-PROD.id
|
||||||
|
- receivers: distributionEmailexample@bmw.de`
|
||||||
|
```
|
||||||
|
4. Save and commit changes:
|
||||||
|
```
|
||||||
|
git add <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
|
||||||
|
### ITSM
|
||||||
|
Coming soon!
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"active": true,
|
||||||
|
"alertingProfile": "{{.alertingProfile}}",
|
||||||
|
"bccReceivers": [],
|
||||||
|
"body": "{ProblemDetailsHTML}",
|
||||||
|
"ccReceivers": [],
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"receivers": [
|
||||||
|
"{{.receivers}}"
|
||||||
|
],
|
||||||
|
"subject": "{State} Problem {ProblemID}: {ImpactedEntity}",
|
||||||
|
"type": "EMAIL"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"acceptAnyCertificate": false,
|
||||||
|
"active": true,
|
||||||
|
"alertingProfile": "{{.alertingProfile}}",
|
||||||
|
"headers": [],
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"notifyEventMergesEnabled": false,
|
||||||
|
"payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}",
|
||||||
|
"type": "WEBHOOK",
|
||||||
|
"url": "{{.webhook}}"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,76 @@
|
||||||
|
config:
|
||||||
|
- CDagent-service-PROD: msTeams.json
|
||||||
|
- CDagent-service-E2E: msTeams.json
|
||||||
|
- CDagent-service-INT: msTeams.json
|
||||||
|
|
||||||
|
#Prod notification system for EMEA/NA/CN
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDagent-service-PROD:
|
||||||
|
- name: CD_agent-service PROD
|
||||||
|
- alertingProfile: CD_agent-service/alerting-profile/CDagent-service-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDagent-service-PROD.EMEA-Prod:
|
||||||
|
- name: CD_agent-service PROD
|
||||||
|
- alertingProfile: CD_agent-service/alerting-profile/CDagent-service-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDagent-service-PROD.NA-Prod:
|
||||||
|
- name: CD_agent-service PROD
|
||||||
|
- alertingProfile: CD_agent-service/alerting-profile/CDagent-service-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDagent-service-PROD.CN-Prod:
|
||||||
|
- name: CD_agent-service PROD
|
||||||
|
- alertingProfile: CD_agent-service/alerting-profile/CDagent-service-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
||||||
|
#E2E notification system for EMEA/NA/CN
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDagent-service-E2E:
|
||||||
|
- name: CD_agent-service E2E
|
||||||
|
- alertingProfile: CD_agent-service/alerting-profile/CDagent-service-E2E.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDagent-service-E2E.EMEA-Prod:
|
||||||
|
- name: CD_agent-service E2E
|
||||||
|
- alertingProfile: CD_agent-service/alerting-profile/CDagent-service-E2E.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDagent-service-E2E.NA-Prod:
|
||||||
|
- name: CD_agent-service E2E
|
||||||
|
- alertingProfile: CD_agent-service/alerting-profile/CDagent-service-E2E.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDagent-service-E2E.CN-Prod:
|
||||||
|
- name: CD_agent-service E2E
|
||||||
|
- alertingProfile: CD_agent-service/alerting-profile/CDagent-service-E2E.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
||||||
|
#INT notification system for EMEA/NA/CN
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDagent-service-INT:
|
||||||
|
- name: CD_agent-service INT
|
||||||
|
- alertingProfile: CD_agent-service/alerting-profile/CDagent-service-INT.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDagent-service-INT.EMEA-PreProd:
|
||||||
|
- name: CD_agent-service INT
|
||||||
|
- alertingProfile: CD_agent-service/alerting-profile/CDagent-service-INT.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDagent-service-INT.NA-PreProd:
|
||||||
|
- name: CD_agent-service INT
|
||||||
|
- alertingProfile: CD_agent-service/alerting-profile/CDagent-service-INT.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDagent-service-INT.CN-PreProd:
|
||||||
|
- name: CD_agent-service INT
|
||||||
|
- alertingProfile: CD_agent-service/alerting-profile/CDagent-service-INT.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
# Synthetic Configuration
|
||||||
|
|
||||||
|
To calculate the Availability KPI, a synthetic must be configured.
|
||||||
|
|
||||||
|
1. Modify the synthetic-monitor.yaml file, providing:
|
||||||
|
- **Endpoint**: url intended to check the availability.
|
||||||
|
- **Location**:
|
||||||
|
- *synthetic private location*: If the endpoint is reachable within the BMW network.
|
||||||
|
```
|
||||||
|
- location: BMW-Dynatrace-config/00_Global-Config/synthetic-location/BMW-AWS-Frankfurt.id
|
||||||
|
```
|
||||||
|
- *synthetic public location*: If the endpoint is reachable from the internet.
|
||||||
|
```
|
||||||
|
- location: GEOLOCATION-45AB48D9D6925ECC
|
||||||
|
```
|
||||||
|
2. Change `skipDeployment` to false.
|
||||||
|
|
||||||
|
i.e.
|
||||||
|
```
|
||||||
|
config:
|
||||||
|
- my-synthetic: default.json
|
||||||
|
|
||||||
|
my-synthetic:
|
||||||
|
- name: CD_BMW - bmw.com
|
||||||
|
- mzName: CD_google/management-zone/CDgoogle.name
|
||||||
|
- mzId: CD_google/management-zone/CDgoogle.id
|
||||||
|
- endpoint: https://google.com
|
||||||
|
- location: GEOLOCATION-45AB48D9D6925ECC
|
||||||
|
- skipDeployment: "false"
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Commit and pull request to merge the branch to the master:
|
||||||
|
```
|
||||||
|
git add <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
|
@ -0,0 +1,82 @@
|
||||||
|
{
|
||||||
|
"anomalyDetection": {
|
||||||
|
"loadingTimeThresholds": {
|
||||||
|
"enabled": false,
|
||||||
|
"thresholds": [
|
||||||
|
{
|
||||||
|
"type": "TOTAL",
|
||||||
|
"valueMs": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"outageHandling": {
|
||||||
|
"globalOutage": true,
|
||||||
|
"localOutage": false,
|
||||||
|
"localOutagePolicy": {
|
||||||
|
"affectedLocations": 1,
|
||||||
|
"consecutiveRuns": 3
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"automaticallyAssignedApps": [],
|
||||||
|
"enabled": true,
|
||||||
|
"frequencyMin": 1,
|
||||||
|
"locations": [
|
||||||
|
"{{.location}}"
|
||||||
|
],
|
||||||
|
"managementZones": [
|
||||||
|
{
|
||||||
|
"id": "{{.mzId}}",
|
||||||
|
"name": "{{.mzName}}"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"manuallyAssignedApps": [],
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"requests": [
|
||||||
|
{
|
||||||
|
"entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A",
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"sequenceNumber": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"script": {
|
||||||
|
"requests": [
|
||||||
|
{
|
||||||
|
"configuration": {
|
||||||
|
"acceptAnyCertificate": true,
|
||||||
|
"followRedirects": true,
|
||||||
|
"requestHeaders": [
|
||||||
|
{
|
||||||
|
"name": "accept",
|
||||||
|
"value": "application/json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Content-Type",
|
||||||
|
"value": "application/json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "api_key",
|
||||||
|
"value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"description": "{{.name}}",
|
||||||
|
"method": "GET",
|
||||||
|
"url": "{{.endpoint}}",
|
||||||
|
"validation": {
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"passIfFound": true,
|
||||||
|
"type": "httpStatusesList",
|
||||||
|
"value": "200"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"rulesChaining": "or"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"version": "1.0"
|
||||||
|
},
|
||||||
|
"tags": [],
|
||||||
|
"type": "HTTP"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
config:
|
||||||
|
- agent-service: default.json
|
||||||
|
|
||||||
|
agent-service:
|
||||||
|
- name: CD_agent-service - <synthetic-name>
|
||||||
|
- mzName: CD_agent-service/management-zone/CDagent-service.name
|
||||||
|
- mzId: CD_agent-service/management-zone/CDagent-service.id
|
||||||
|
- endpoint: <url>
|
||||||
|
- location: <location>
|
||||||
|
- skipDeployment: "true"
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
config:
|
||||||
|
- CDaluis-PROD: default.json
|
||||||
|
- CDaluis-INT: default.json
|
||||||
|
|
||||||
|
#Prod alerting profiles for EMEA/NA/CN
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDaluis-PROD:
|
||||||
|
- name: CD_aluis PROD
|
||||||
|
- tag: aluis
|
||||||
|
- mzId: CD_aluis/management-zone/CDaluis.id
|
||||||
|
- env: PROD
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDaluis-PROD.EMEA-Prod:
|
||||||
|
- name: CD_aluis PROD
|
||||||
|
- tag: aluis
|
||||||
|
- mzId: CD_aluis/management-zone/CDaluis.id
|
||||||
|
- env: PROD
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDaluis-PROD.NA-Prod:
|
||||||
|
- name: CD_aluis PROD
|
||||||
|
- tag: aluis
|
||||||
|
- mzId: CD_aluis/management-zone/CDaluis.id
|
||||||
|
- env: PROD
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDaluis-PROD.CN-Prod:
|
||||||
|
- name: CD_aluis PROD
|
||||||
|
- tag: aluis
|
||||||
|
- mzId: CD_aluis/management-zone/CDaluis.id
|
||||||
|
- env: PROD
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
||||||
|
|
||||||
|
#INT alerting profiles for EMEA/NA/CN
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDaluis-INT:
|
||||||
|
- name: CD_aluis INT
|
||||||
|
- tag: aluis
|
||||||
|
- mzId: CD_aluis/management-zone/CDaluis.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDaluis-INT.EMEA-PreProd:
|
||||||
|
- name: CD_aluis INT
|
||||||
|
- tag: aluis
|
||||||
|
- mzId: CD_aluis/management-zone/CDaluis.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDaluis-INT.NA-PreProd:
|
||||||
|
- name: CD_aluis INT
|
||||||
|
- tag: aluis
|
||||||
|
- mzId: CD_aluis/management-zone/CDaluis.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDaluis-INT.CN-PreProd:
|
||||||
|
- name: CD_aluis INT
|
||||||
|
- tag: aluis
|
||||||
|
- mzId: CD_aluis/management-zone/CDaluis.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
@ -8,12 +8,17 @@
|
||||||
"delayInMinutes": 0,
|
"delayInMinutes": 0,
|
||||||
"severityLevel": "AVAILABILITY",
|
"severityLevel": "AVAILABILITY",
|
||||||
"tagFilter": {
|
"tagFilter": {
|
||||||
"includeMode": "INCLUDE_ANY",
|
"includeMode": "INCLUDE_ALL",
|
||||||
"tagFilters": [
|
"tagFilters": [
|
||||||
{
|
{
|
||||||
"context": "CONTEXTLESS",
|
"context": "CONTEXTLESS",
|
||||||
"key": "Component",
|
"key": "Component",
|
||||||
"value": "{{.tag}}"
|
"value": "{{.tag}}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Environment",
|
||||||
|
"value": "{{.env}}"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -22,12 +27,17 @@
|
||||||
"delayInMinutes": 10,
|
"delayInMinutes": 10,
|
||||||
"severityLevel": "ERROR",
|
"severityLevel": "ERROR",
|
||||||
"tagFilter": {
|
"tagFilter": {
|
||||||
"includeMode": "INCLUDE_ANY",
|
"includeMode": "INCLUDE_ALL",
|
||||||
"tagFilters": [
|
"tagFilters": [
|
||||||
{
|
{
|
||||||
"context": "CONTEXTLESS",
|
"context": "CONTEXTLESS",
|
||||||
"key": "Component",
|
"key": "Component",
|
||||||
"value": "{{.tag}}"
|
"value": "{{.tag}}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Environment",
|
||||||
|
"value": "{{.env}}"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -36,12 +46,17 @@
|
||||||
"delayInMinutes": 30,
|
"delayInMinutes": 30,
|
||||||
"severityLevel": "PERFORMANCE",
|
"severityLevel": "PERFORMANCE",
|
||||||
"tagFilter": {
|
"tagFilter": {
|
||||||
"includeMode": "INCLUDE_ANY",
|
"includeMode": "INCLUDE_ALL",
|
||||||
"tagFilters": [
|
"tagFilters": [
|
||||||
{
|
{
|
||||||
"context": "CONTEXTLESS",
|
"context": "CONTEXTLESS",
|
||||||
"key": "Component",
|
"key": "Component",
|
||||||
"value": "{{.tag}}"
|
"value": "{{.tag}}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Environment",
|
||||||
|
"value": "{{.env}}"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -50,12 +65,17 @@
|
||||||
"delayInMinutes": 30,
|
"delayInMinutes": 30,
|
||||||
"severityLevel": "RESOURCE_CONTENTION",
|
"severityLevel": "RESOURCE_CONTENTION",
|
||||||
"tagFilter": {
|
"tagFilter": {
|
||||||
"includeMode": "INCLUDE_ANY",
|
"includeMode": "INCLUDE_ALL",
|
||||||
"tagFilters": [
|
"tagFilters": [
|
||||||
{
|
{
|
||||||
"context": "CONTEXTLESS",
|
"context": "CONTEXTLESS",
|
||||||
"key": "Component",
|
"key": "Component",
|
||||||
"value": "{{.tag}}"
|
"value": "{{.tag}}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Environment",
|
||||||
|
"value": "{{.env}}"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -64,26 +84,17 @@
|
||||||
"delayInMinutes": 10,
|
"delayInMinutes": 10,
|
||||||
"severityLevel": "CUSTOM_ALERT",
|
"severityLevel": "CUSTOM_ALERT",
|
||||||
"tagFilter": {
|
"tagFilter": {
|
||||||
"includeMode": "INCLUDE_ANY",
|
"includeMode": "INCLUDE_ALL",
|
||||||
"tagFilters": [
|
"tagFilters": [
|
||||||
{
|
{
|
||||||
"context": "CONTEXTLESS",
|
"context": "CONTEXTLESS",
|
||||||
"key": "Component",
|
"key": "Component",
|
||||||
"value": "{{.tag}}"
|
"value": "{{.tag}}"
|
||||||
}
|
},
|
||||||
]
|
{
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"delayInMinutes": 0,
|
|
||||||
"severityLevel": "MONITORING_UNAVAILABLE",
|
|
||||||
"tagFilter": {
|
|
||||||
"includeMode": "INCLUDE_ANY",
|
|
||||||
"tagFilters": [
|
|
||||||
{
|
|
||||||
"context": "CONTEXTLESS",
|
"context": "CONTEXTLESS",
|
||||||
"key": "Component",
|
"key": "Environment",
|
||||||
"value": "{{.tag}}"
|
"value": "{{.env}}"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
## Custom metrics - Multidimensional Analysis
|
||||||
|
|
||||||
|
Under the Multidimensional Analysis you're able to save a view but not to create a metric. Instead, you can do it in here:
|
||||||
|
|
||||||
|
1. Create the metric within the Dynatrace UI using the Mutidimensional Analysis view.
|
||||||
|
2. Save the view and create a ticket for the OPAPM team [here](link). Please provide the following information:
|
||||||
|
- View created in the Dynatrace UI
|
||||||
|
- Your Dynatrace configuration folder (i.e. CD_<app_name>)
|
||||||
|
|
||||||
|
The OPAPM team will proceed creating the metric and updating your configuration in monaco.
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
|
||||||
|
## What is a custom service in Dynatrace?
|
||||||
|
- *If your application's 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 create a custom service?
|
||||||
|
1. Open the file *custom-service-java.yaml* under your *CD_<app_name>/custom-service-java* configuration folder.
|
||||||
|
2. Use customService1 as a template. Copy and paste it below, changing the skipDeployment to "false".
|
||||||
|
3. Fill up all the remaining inputs with the details of the endpoint you're interested to monitor. (className, methodName, etc...)
|
||||||
|
4. Commit and pull request to merge the branch to the master:
|
||||||
|
`git add <changes>`
|
||||||
|
`git commit -m "<app_name> configuration changes"`
|
||||||
|
`git push -u origin <branch>`
|
||||||
|
5. Restart the application where the custom service has been created.
|
||||||
|
6. Check if the custom service appears in Dynatrace.
|
||||||
|
|
||||||
|
Notes:
|
||||||
|
- As this configuration needs a restart, it's better to create it in a non-Prod application.
|
||||||
|
- The custom service will appear in Dynatrace iff there's traffic going through.
|
||||||
|
|
||||||
|
## What if i have multiple classes?
|
||||||
|
1. Clone *template-1-1.json* to a new one called *template-2-1.json*.
|
||||||
|
2. Edit *template-2-1.json* adding a 2nd rule separated with a coma.
|
||||||
|
3. For the 2nd rule, change the name of the {{.values}} to {{.values2}} i.e.
|
||||||
|
4. The template is ready to be used in the YAML file.
|
||||||
|
|
||||||
|
## What if i have multiple methods?
|
||||||
|
1. Same process as before, just call it template-1-2.json
|
||||||
|
2. In this way you can extend to a custom service with n classes and k methods: template-n-k.json
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
config:
|
||||||
|
- customService1: template-1-1.json
|
||||||
|
|
||||||
|
customService1:
|
||||||
|
- name: myJOYNRService
|
||||||
|
- className: com.bmw.cc.conn.this.is.just.an.exampleClasss
|
||||||
|
- methodName: exampleJoynrMethod
|
||||||
|
- returnType: void
|
||||||
|
- skipDeployment: "true"
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
{
|
||||||
|
"enabled": true,
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"processGroups": [],
|
||||||
|
"queueEntryPoint": false,
|
||||||
|
"queueEntryPointType": null,
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"annotations": [],
|
||||||
|
"className": "{{.className}}",
|
||||||
|
"enabled": true,
|
||||||
|
"fileName": "",
|
||||||
|
"matcher": "EQUALS",
|
||||||
|
"methodRules": [
|
||||||
|
{
|
||||||
|
"argumentTypes": [],
|
||||||
|
"methodName": "{{.methodName}}",
|
||||||
|
"returnType": "{{.returnType}}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
## Update dashboard configuration
|
||||||
|
|
||||||
|
- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco.
|
||||||
|
- How to generate changes in your dashboards?
|
||||||
|
1. Modify the dashboard within the Dynatrace UI with the intended changes.
|
||||||
|
2. Copy the JSON of the dashboards. (Can be found under the dashboard settings)
|
||||||
|
3. Paste the copied JSON under the Monaco JSON, overwrite it.
|
||||||
|
4. Commit and pull request to merge the branch to the master:
|
||||||
|
```
|
||||||
|
git add <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
config:
|
||||||
|
- CDaluis-PROD-E2E: defaultPRODE2E.json
|
||||||
|
- CDaluis-INT-TEST: defaultINTTEST.json
|
||||||
|
|
||||||
|
#PROD-E2E dashboards for EMEA/NA/CN Prod
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDaluis-PROD-E2E:
|
||||||
|
- name: CD_aluis PROD-E2E
|
||||||
|
- mzName: CD_aluis/management-zone/CDaluis.name
|
||||||
|
- mzId: CD_aluis/management-zone/CDaluis.id
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDaluis-PROD-E2E.EMEA-Prod:
|
||||||
|
- name: CD_aluis PROD-E2E
|
||||||
|
- mzName: CD_aluis/management-zone/CDaluis.name
|
||||||
|
- mzId: CD_aluis/management-zone/CDaluis.id
|
||||||
|
- tag: aluis
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDaluis-PROD-E2E.NA-Prod:
|
||||||
|
- name: CD_aluis PROD-E2E
|
||||||
|
- mzName: CD_aluis/management-zone/CDaluis.name
|
||||||
|
- mzId: CD_aluis/management-zone/CDaluis.id
|
||||||
|
- tag: aluis
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDaluis-PROD-E2E.CN-Prod:
|
||||||
|
- name: CD_aluis PROD-E2E
|
||||||
|
- mzName: CD_aluis/management-zone/CDaluis.name
|
||||||
|
- mzId: CD_aluis/management-zone/CDaluis.id
|
||||||
|
- tag: aluis
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
||||||
|
|
||||||
|
#INT-TEST dashboards for EMEA/NA/CN PreProd
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDaluis-INT-TEST:
|
||||||
|
- name: CD_aluis INT-TEST
|
||||||
|
- mzName: CD_aluis/management-zone/CDaluis.name
|
||||||
|
- mzId: CD_aluis/management-zone/CDaluis.id
|
||||||
|
- tag: aluis
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDaluis-INT-TEST.EMEA-PreProd:
|
||||||
|
- name: CD_aluis INT-TEST
|
||||||
|
- mzName: CD_aluis/management-zone/CDaluis.name
|
||||||
|
- mzId: CD_aluis/management-zone/CDaluis.id
|
||||||
|
- tag: aluis
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDaluis-INT-TEST.NA-PreProd:
|
||||||
|
- name: CD_aluis INT-TEST
|
||||||
|
- mzName: CD_aluis/management-zone/CDaluis.name
|
||||||
|
- mzId: CD_aluis/management-zone/CDaluis.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDaluis-INT-TEST.CN-PreProd:
|
||||||
|
- name: CD_aluis INT-TEST
|
||||||
|
- mzName: CD_aluis/management-zone/CDaluis.name
|
||||||
|
- mzId: CD_aluis/management-zone/CDaluis.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
@ -0,0 +1,586 @@
|
||||||
|
{
|
||||||
|
"metadata": {
|
||||||
|
"configurationVersions": [
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"clusterVersion": "1.213.116.20210318-174118"
|
||||||
|
},
|
||||||
|
"dashboardMetadata": {
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"shared": false,
|
||||||
|
"owner": "Ignacio.Goldman@partner.bmwgroup.com",
|
||||||
|
"dashboardFilter": {
|
||||||
|
"managementZone": {
|
||||||
|
"id": "{{.mzId}}",
|
||||||
|
"name": "{{.mzName}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tags": [
|
||||||
|
"{{.mzName}}"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"tiles": [
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 380,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 266
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Failure rate (HTTP 4xx/5xx errors)",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fourxx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fivexx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595276148986,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Problems",
|
||||||
|
"tileType": "OPEN_PROBLEMS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 114,
|
||||||
|
"left": 1596,
|
||||||
|
"width": 152,
|
||||||
|
"height": 152
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "SERVICES",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 1064,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "SERVICE",
|
||||||
|
"customName": "Services",
|
||||||
|
"defaultName": "Services",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Overall Health - INT",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 38,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Markdown",
|
||||||
|
"tileType": "MARKDOWN",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 684,
|
||||||
|
"left": 38,
|
||||||
|
"width": 1520,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"markdown": "---\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Service1 - TEST",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 722,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 760,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 304
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Response time, Throughput and Number of Errors",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.response.time",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "LINE",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.requestCount.total",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.total.count",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275720776,
|
||||||
|
"customColor": "#008cdb"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275955999,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": {
|
||||||
|
"lastModified": 1595275686773,
|
||||||
|
"customColor": "#b4e5f9"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Service1 - INT",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 722,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 760,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 304
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Response time, Throughput and Number of Errors",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.response.time",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "LINE",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.requestCount.total",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.total.count",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275720776,
|
||||||
|
"customColor": "#008cdb"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275955999,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": {
|
||||||
|
"lastModified": 1595275686773,
|
||||||
|
"customColor": "#b4e5f9"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 380,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 266
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Failure rate (HTTP 4xx/5xx errors)",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fourxx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fivexx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595276148986,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Markdown",
|
||||||
|
"tileType": "MARKDOWN",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 304,
|
||||||
|
"left": 38,
|
||||||
|
"width": 1520,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"markdown": "---\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Failure rate - TEST (HTTP 4xx/5xx errors)",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 342,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Failure rate - INT (HTTP 4xx/5xx errors)",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 342,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "DATABASES_OVERVIEW",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 570,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "DATABASE",
|
||||||
|
"customName": "Databases",
|
||||||
|
"defaultName": "Databases",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"DATABASE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Overall Health - TEST",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 38,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "DATABASES_OVERVIEW",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 1330,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "DATABASE",
|
||||||
|
"customName": "Databases",
|
||||||
|
"defaultName": "Databases",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"DATABASE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "SERVICES",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 304,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "SERVICE",
|
||||||
|
"customName": "Services",
|
||||||
|
"defaultName": "Services",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "HOSTS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 798,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "HOST",
|
||||||
|
"customName": "Hosts",
|
||||||
|
"defaultName": "Hosts",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"HOST": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "HOSTS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 38,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "HOST",
|
||||||
|
"customName": "Hosts",
|
||||||
|
"defaultName": "Hosts",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"HOST": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,586 @@
|
||||||
|
{
|
||||||
|
"metadata": {
|
||||||
|
"configurationVersions": [
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"clusterVersion": "1.213.116.20210318-174118"
|
||||||
|
},
|
||||||
|
"dashboardMetadata": {
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"shared": false,
|
||||||
|
"owner": "Ignacio.Goldman@partner.bmwgroup.com",
|
||||||
|
"dashboardFilter": {
|
||||||
|
"managementZone": {
|
||||||
|
"id": "{{.mzId}}",
|
||||||
|
"name": "{{.mzName}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tags": [
|
||||||
|
"{{.mzName}}"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"tiles": [
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 380,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 266
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Failure rate (HTTP 4xx/5xx errors)",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fourxx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fivexx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595276148986,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:PROD"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Problems",
|
||||||
|
"tileType": "OPEN_PROBLEMS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 114,
|
||||||
|
"left": 1596,
|
||||||
|
"width": 152,
|
||||||
|
"height": 152
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "SERVICES",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 1064,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "SERVICE",
|
||||||
|
"customName": "Services",
|
||||||
|
"defaultName": "Services",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:E2E",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Overall Health - PROD",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 38,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Markdown",
|
||||||
|
"tileType": "MARKDOWN",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 684,
|
||||||
|
"left": 38,
|
||||||
|
"width": 1520,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"markdown": "---\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Service1 - E2E",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 722,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 760,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 304
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Response time, Throughput and Number of Errors",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.response.time",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "LINE",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.requestCount.total",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.total.count",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275720776,
|
||||||
|
"customColor": "#008cdb"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275955999,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": {
|
||||||
|
"lastModified": 1595275686773,
|
||||||
|
"customColor": "#b4e5f9"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:E2E"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Service1 - PROD",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 722,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 760,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 304
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Response time, Throughput and Number of Errors",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.response.time",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "LINE",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.requestCount.total",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.total.count",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275720776,
|
||||||
|
"customColor": "#008cdb"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275955999,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": {
|
||||||
|
"lastModified": 1595275686773,
|
||||||
|
"customColor": "#b4e5f9"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:PROD"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 380,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 266
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Failure rate (HTTP 4xx/5xx errors)",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fourxx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fivexx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595276148986,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:E2E"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Markdown",
|
||||||
|
"tileType": "MARKDOWN",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 304,
|
||||||
|
"left": 38,
|
||||||
|
"width": 1520,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"markdown": "---\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Failure rate - E2E (HTTP 4xx/5xx errors)",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 342,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Failure rate - PROD (HTTP 4xx/5xx errors)",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 342,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "DATABASES_OVERVIEW",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 570,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "DATABASE",
|
||||||
|
"customName": "Databases",
|
||||||
|
"defaultName": "Databases",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"DATABASE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:PROD"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Overall Health - E2E",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 38,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "DATABASES_OVERVIEW",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 1330,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "DATABASE",
|
||||||
|
"customName": "Databases",
|
||||||
|
"defaultName": "Databases",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"DATABASE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:E2E",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "SERVICES",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 304,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "SERVICE",
|
||||||
|
"customName": "Services",
|
||||||
|
"defaultName": "Services",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:PROD"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "HOSTS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 798,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "HOST",
|
||||||
|
"customName": "Hosts",
|
||||||
|
"defaultName": "Hosts",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"HOST": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:E2E",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "HOSTS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 38,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "HOST",
|
||||||
|
"customName": "Hosts",
|
||||||
|
"defaultName": "Hosts",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"HOST": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:PROD"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,76 @@
|
||||||
|
## Management Zones configuration
|
||||||
|
|
||||||
|
### Excluding noisy services
|
||||||
|
|
||||||
|
*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_<app_name>/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 <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
Note: you can use the same logic to exclude (or include) any other entity to your Management Zone.
|
||||||
|
|
@ -18,42 +18,6 @@
|
||||||
"key": {
|
"key": {
|
||||||
"attribute": "SERVICE_TAGS"
|
"attribute": "SERVICE_TAGS"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"comparisonInfo": {
|
|
||||||
"caseSensitive": true,
|
|
||||||
"negate": true,
|
|
||||||
"operator": "CONTAINS",
|
|
||||||
"type": "STRING",
|
|
||||||
"value": "HealthResource"
|
|
||||||
},
|
|
||||||
"key": {
|
|
||||||
"attribute": "SERVICE_NAME"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"comparisonInfo": {
|
|
||||||
"caseSensitive": true,
|
|
||||||
"negate": true,
|
|
||||||
"operator": "CONTAINS",
|
|
||||||
"type": "STRING",
|
|
||||||
"value": "PingResource"
|
|
||||||
},
|
|
||||||
"key": {
|
|
||||||
"attribute": "SERVICE_NAME"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"comparisonInfo": {
|
|
||||||
"caseSensitive": true,
|
|
||||||
"negate": true,
|
|
||||||
"operator": "CONTAINS",
|
|
||||||
"type": "STRING",
|
|
||||||
"value": "PrometheusResource"
|
|
||||||
},
|
|
||||||
"key": {
|
|
||||||
"attribute": "SERVICE_NAME"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
|
|
@ -86,6 +50,27 @@
|
||||||
"PROCESS_GROUP_TO_HOST"
|
"PROCESS_GROUP_TO_HOST"
|
||||||
],
|
],
|
||||||
"type": "PROCESS_GROUP"
|
"type": "PROCESS_GROUP"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"comparisonInfo": {
|
||||||
|
"negate": false,
|
||||||
|
"operator": "EQUALS",
|
||||||
|
"type": "TAG",
|
||||||
|
"value": {
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Component",
|
||||||
|
"value": "{{.tag}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"attribute": "HOST_TAGS"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"type": "HOST"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
config:
|
||||||
|
- CDaluis: default.json
|
||||||
|
|
||||||
|
CDaluis:
|
||||||
|
- name: CD_aluis
|
||||||
|
- tag: aluis
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
|
||||||
|
## Configure Notification System
|
||||||
|
|
||||||
|
### MS Teams - Default
|
||||||
|
|
||||||
|
*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.*
|
||||||
|
|
||||||
|
1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an
|
||||||
|
https://empty webhook (not configured).
|
||||||
|
2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams)
|
||||||
|
3. Add the incoming webhook under the webhook parameter for the `<app_name>-PROD.EMEA-Prod`:
|
||||||
|
```
|
||||||
|
<app_name>-PROD.EMEA-Prod:
|
||||||
|
- name: CD_<app_name> PROD
|
||||||
|
- alertingProfile: CD_<app_name>/alerting-profile/CD<app_name>-PROD.id
|
||||||
|
- webhook: <Add webhook here>
|
||||||
|
- skipDeployment: "false"
|
||||||
|
```
|
||||||
|
4. Save and commit changes:
|
||||||
|
```
|
||||||
|
git add <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration:
|
||||||
|
`<app_name>-<stage>.<dynatrace-env>-<stage>:`
|
||||||
|
|
||||||
|
### Email
|
||||||
|
|
||||||
|
*The team prefers to be alerted via email, not MS Teams*
|
||||||
|
|
||||||
|
1. Keep the MS Teams integration disabled, with the https://empty webhook:
|
||||||
|
```
|
||||||
|
<app_name>-PROD.EMEA-Prod:
|
||||||
|
- name: CD_<app_name> PROD
|
||||||
|
- alertingProfile: CD_<app_name>/alerting-profile/CD<app_name>-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
```
|
||||||
|
2. Create a new configuration template under config, using the email template:
|
||||||
|
```
|
||||||
|
config:
|
||||||
|
- CD<app_name>email: email.json
|
||||||
|
```
|
||||||
|
3. Describe the configuration below, using the following template:
|
||||||
|
```
|
||||||
|
CD<app_name>email.EMEA-Prod:
|
||||||
|
- name: CD_<app_name> PROD
|
||||||
|
- alertingProfile: CD_<app_name>/alerting-profile/CD<app_name>-PROD.id
|
||||||
|
- receivers: distributionEmailexample@bmw.de`
|
||||||
|
```
|
||||||
|
4. Save and commit changes:
|
||||||
|
```
|
||||||
|
git add <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
|
||||||
|
### ITSM
|
||||||
|
Coming soon!
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"active": true,
|
||||||
|
"alertingProfile": "{{.alertingProfile}}",
|
||||||
|
"bccReceivers": [],
|
||||||
|
"body": "{ProblemDetailsHTML}",
|
||||||
|
"ccReceivers": [],
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"receivers": [
|
||||||
|
"{{.receivers}}"
|
||||||
|
],
|
||||||
|
"subject": "{State} Problem {ProblemID}: {ImpactedEntity}",
|
||||||
|
"type": "EMAIL"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"acceptAnyCertificate": false,
|
||||||
|
"active": true,
|
||||||
|
"alertingProfile": "{{.alertingProfile}}",
|
||||||
|
"headers": [],
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"notifyEventMergesEnabled": false,
|
||||||
|
"payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}",
|
||||||
|
"type": "WEBHOOK",
|
||||||
|
"url": "{{.webhook}}"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
config:
|
||||||
|
- CDaluis-PROD: msTeams.json
|
||||||
|
- CDaluis-INT: msTeams.json
|
||||||
|
|
||||||
|
#Prod notification system for EMEA/NA/CN
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDaluis-PROD:
|
||||||
|
- name: CD_aluis PROD
|
||||||
|
- alertingProfile: CD_aluis/alerting-profile/CDaluis-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDaluis-PROD.EMEA-Prod:
|
||||||
|
- name: CD_aluis PROD
|
||||||
|
- alertingProfile: CD_aluis/alerting-profile/CDaluis-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDaluis-PROD.NA-Prod:
|
||||||
|
- name: CD_aluis PROD
|
||||||
|
- alertingProfile: CD_aluis/alerting-profile/CDaluis-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDaluis-PROD.CN-Prod:
|
||||||
|
- name: CD_aluis PROD
|
||||||
|
- alertingProfile: CD_aluis/alerting-profile/CDaluis-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
||||||
|
#INT notification system for EMEA/NA/CN
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDaluis-INT:
|
||||||
|
- name: CD_aluis INT
|
||||||
|
- alertingProfile: CD_aluis/alerting-profile/CDaluis-INT.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDaluis-INT.EMEA-PreProd:
|
||||||
|
- name: CD_aluis INT
|
||||||
|
- alertingProfile: CD_aluis/alerting-profile/CDaluis-INT.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDaluis-INT.NA-PreProd:
|
||||||
|
- name: CD_aluis INT
|
||||||
|
- alertingProfile: CD_aluis/alerting-profile/CDaluis-INT.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDaluis-INT.CN-PreProd:
|
||||||
|
- name: CD_aluis INT
|
||||||
|
- alertingProfile: CD_aluis/alerting-profile/CDaluis-INT.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
# Synthetic Configuration
|
||||||
|
|
||||||
|
To calculate the Availability KPI, a synthetic must be configured.
|
||||||
|
|
||||||
|
1. Modify the synthetic-monitor.yaml file, providing:
|
||||||
|
- **Endpoint**: url intended to check the availability.
|
||||||
|
- **Location**:
|
||||||
|
- *synthetic private location*: If the endpoint is reachable within the BMW network.
|
||||||
|
```
|
||||||
|
- location: BMW-Dynatrace-config/00_Global-Config/synthetic-location/BMW-AWS-Frankfurt.id
|
||||||
|
```
|
||||||
|
- *synthetic public location*: If the endpoint is reachable from the internet.
|
||||||
|
```
|
||||||
|
- location: GEOLOCATION-45AB48D9D6925ECC
|
||||||
|
```
|
||||||
|
2. Change `skipDeployment` to false.
|
||||||
|
|
||||||
|
i.e.
|
||||||
|
```
|
||||||
|
config:
|
||||||
|
- my-synthetic: default.json
|
||||||
|
|
||||||
|
my-synthetic:
|
||||||
|
- name: CD_BMW - bmw.com
|
||||||
|
- mzName: CD_google/management-zone/CDgoogle.name
|
||||||
|
- mzId: CD_google/management-zone/CDgoogle.id
|
||||||
|
- endpoint: https://google.com
|
||||||
|
- location: GEOLOCATION-45AB48D9D6925ECC
|
||||||
|
- skipDeployment: "false"
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Commit and pull request to merge the branch to the master:
|
||||||
|
```
|
||||||
|
git add <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
|
@ -0,0 +1,82 @@
|
||||||
|
{
|
||||||
|
"anomalyDetection": {
|
||||||
|
"loadingTimeThresholds": {
|
||||||
|
"enabled": false,
|
||||||
|
"thresholds": [
|
||||||
|
{
|
||||||
|
"type": "TOTAL",
|
||||||
|
"valueMs": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"outageHandling": {
|
||||||
|
"globalOutage": true,
|
||||||
|
"localOutage": false,
|
||||||
|
"localOutagePolicy": {
|
||||||
|
"affectedLocations": 1,
|
||||||
|
"consecutiveRuns": 3
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"automaticallyAssignedApps": [],
|
||||||
|
"enabled": true,
|
||||||
|
"frequencyMin": 1,
|
||||||
|
"locations": [
|
||||||
|
"{{.location}}"
|
||||||
|
],
|
||||||
|
"managementZones": [
|
||||||
|
{
|
||||||
|
"id": "{{.mzId}}",
|
||||||
|
"name": "{{.mzName}}"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"manuallyAssignedApps": [],
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"requests": [
|
||||||
|
{
|
||||||
|
"entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A",
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"sequenceNumber": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"script": {
|
||||||
|
"requests": [
|
||||||
|
{
|
||||||
|
"configuration": {
|
||||||
|
"acceptAnyCertificate": true,
|
||||||
|
"followRedirects": true,
|
||||||
|
"requestHeaders": [
|
||||||
|
{
|
||||||
|
"name": "accept",
|
||||||
|
"value": "application/json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Content-Type",
|
||||||
|
"value": "application/json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "api_key",
|
||||||
|
"value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"description": "{{.name}}",
|
||||||
|
"method": "GET",
|
||||||
|
"url": "{{.endpoint}}",
|
||||||
|
"validation": {
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"passIfFound": true,
|
||||||
|
"type": "httpStatusesList",
|
||||||
|
"value": "200"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"rulesChaining": "or"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"version": "1.0"
|
||||||
|
},
|
||||||
|
"tags": [],
|
||||||
|
"type": "HTTP"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
config:
|
||||||
|
- aluis: default.json
|
||||||
|
|
||||||
|
aluis:
|
||||||
|
- name: CD_aluis - <synthetic-name>
|
||||||
|
- mzName: CD_aluis/management-zone/CDaluis.name
|
||||||
|
- mzId: CD_aluis/management-zone/CDaluis.id
|
||||||
|
- endpoint: <url>
|
||||||
|
- location: <location>
|
||||||
|
- skipDeployment: "true"
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
config:
|
||||||
|
- CDam-casa-PROD: default.json
|
||||||
|
- CDam-casa-INT: default.json
|
||||||
|
|
||||||
|
#Prod alerting profiles for EMEA/NA/CN
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDam-casa-PROD:
|
||||||
|
- name: CD_am-casa PROD
|
||||||
|
- tag: am-casa
|
||||||
|
- mzId: CD_am-casa/management-zone/CDam-casa.id
|
||||||
|
- env: PROD
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDam-casa-PROD.EMEA-Prod:
|
||||||
|
- name: CD_am-casa PROD
|
||||||
|
- tag: am-casa
|
||||||
|
- mzId: CD_am-casa/management-zone/CDam-casa.id
|
||||||
|
- env: PROD
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-casa-PROD.NA-Prod:
|
||||||
|
- name: CD_am-casa PROD
|
||||||
|
- tag: am-casa
|
||||||
|
- mzId: CD_am-casa/management-zone/CDam-casa.id
|
||||||
|
- env: PROD
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-casa-PROD.CN-Prod:
|
||||||
|
- name: CD_am-casa PROD
|
||||||
|
- tag: am-casa
|
||||||
|
- mzId: CD_am-casa/management-zone/CDam-casa.id
|
||||||
|
- env: PROD
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
||||||
|
|
||||||
|
#INT alerting profiles for EMEA/NA/CN
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDam-casa-INT:
|
||||||
|
- name: CD_am-casa INT
|
||||||
|
- tag: am-casa
|
||||||
|
- mzId: CD_am-casa/management-zone/CDam-casa.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDam-casa-INT.EMEA-PreProd:
|
||||||
|
- name: CD_am-casa INT
|
||||||
|
- tag: am-casa
|
||||||
|
- mzId: CD_am-casa/management-zone/CDam-casa.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-casa-INT.NA-PreProd:
|
||||||
|
- name: CD_am-casa INT
|
||||||
|
- tag: am-casa
|
||||||
|
- mzId: CD_am-casa/management-zone/CDam-casa.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-casa-INT.CN-PreProd:
|
||||||
|
- name: CD_am-casa INT
|
||||||
|
- tag: am-casa
|
||||||
|
- mzId: CD_am-casa/management-zone/CDam-casa.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
@ -8,12 +8,17 @@
|
||||||
"delayInMinutes": 0,
|
"delayInMinutes": 0,
|
||||||
"severityLevel": "AVAILABILITY",
|
"severityLevel": "AVAILABILITY",
|
||||||
"tagFilter": {
|
"tagFilter": {
|
||||||
"includeMode": "INCLUDE_ANY",
|
"includeMode": "INCLUDE_ALL",
|
||||||
"tagFilters": [
|
"tagFilters": [
|
||||||
{
|
{
|
||||||
"context": "CONTEXTLESS",
|
"context": "CONTEXTLESS",
|
||||||
"key": "Component",
|
"key": "Component",
|
||||||
"value": "{{.tag}}"
|
"value": "{{.tag}}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Environment",
|
||||||
|
"value": "{{.env}}"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -22,12 +27,17 @@
|
||||||
"delayInMinutes": 10,
|
"delayInMinutes": 10,
|
||||||
"severityLevel": "ERROR",
|
"severityLevel": "ERROR",
|
||||||
"tagFilter": {
|
"tagFilter": {
|
||||||
"includeMode": "INCLUDE_ANY",
|
"includeMode": "INCLUDE_ALL",
|
||||||
"tagFilters": [
|
"tagFilters": [
|
||||||
{
|
{
|
||||||
"context": "CONTEXTLESS",
|
"context": "CONTEXTLESS",
|
||||||
"key": "Component",
|
"key": "Component",
|
||||||
"value": "{{.tag}}"
|
"value": "{{.tag}}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Environment",
|
||||||
|
"value": "{{.env}}"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -36,12 +46,17 @@
|
||||||
"delayInMinutes": 30,
|
"delayInMinutes": 30,
|
||||||
"severityLevel": "PERFORMANCE",
|
"severityLevel": "PERFORMANCE",
|
||||||
"tagFilter": {
|
"tagFilter": {
|
||||||
"includeMode": "INCLUDE_ANY",
|
"includeMode": "INCLUDE_ALL",
|
||||||
"tagFilters": [
|
"tagFilters": [
|
||||||
{
|
{
|
||||||
"context": "CONTEXTLESS",
|
"context": "CONTEXTLESS",
|
||||||
"key": "Component",
|
"key": "Component",
|
||||||
"value": "{{.tag}}"
|
"value": "{{.tag}}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Environment",
|
||||||
|
"value": "{{.env}}"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -50,12 +65,17 @@
|
||||||
"delayInMinutes": 30,
|
"delayInMinutes": 30,
|
||||||
"severityLevel": "RESOURCE_CONTENTION",
|
"severityLevel": "RESOURCE_CONTENTION",
|
||||||
"tagFilter": {
|
"tagFilter": {
|
||||||
"includeMode": "INCLUDE_ANY",
|
"includeMode": "INCLUDE_ALL",
|
||||||
"tagFilters": [
|
"tagFilters": [
|
||||||
{
|
{
|
||||||
"context": "CONTEXTLESS",
|
"context": "CONTEXTLESS",
|
||||||
"key": "Component",
|
"key": "Component",
|
||||||
"value": "{{.tag}}"
|
"value": "{{.tag}}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Environment",
|
||||||
|
"value": "{{.env}}"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -64,26 +84,17 @@
|
||||||
"delayInMinutes": 10,
|
"delayInMinutes": 10,
|
||||||
"severityLevel": "CUSTOM_ALERT",
|
"severityLevel": "CUSTOM_ALERT",
|
||||||
"tagFilter": {
|
"tagFilter": {
|
||||||
"includeMode": "INCLUDE_ANY",
|
"includeMode": "INCLUDE_ALL",
|
||||||
"tagFilters": [
|
"tagFilters": [
|
||||||
{
|
{
|
||||||
"context": "CONTEXTLESS",
|
"context": "CONTEXTLESS",
|
||||||
"key": "Component",
|
"key": "Component",
|
||||||
"value": "{{.tag}}"
|
"value": "{{.tag}}"
|
||||||
}
|
},
|
||||||
]
|
{
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"delayInMinutes": 0,
|
|
||||||
"severityLevel": "MONITORING_UNAVAILABLE",
|
|
||||||
"tagFilter": {
|
|
||||||
"includeMode": "INCLUDE_ANY",
|
|
||||||
"tagFilters": [
|
|
||||||
{
|
|
||||||
"context": "CONTEXTLESS",
|
"context": "CONTEXTLESS",
|
||||||
"key": "Component",
|
"key": "Environment",
|
||||||
"value": "{{.tag}}"
|
"value": "{{.env}}"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
## Custom metrics - Multidimensional Analysis
|
||||||
|
|
||||||
|
Under the Multidimensional Analysis you're able to save a view but not to create a metric. Instead, you can do it in here:
|
||||||
|
|
||||||
|
1. Create the metric within the Dynatrace UI using the Mutidimensional Analysis view.
|
||||||
|
2. Save the view and create a ticket for the OPAPM team [here](link). Please provide the following information:
|
||||||
|
- View created in the Dynatrace UI
|
||||||
|
- Your Dynatrace configuration folder (i.e. CD_<app_name>)
|
||||||
|
|
||||||
|
The OPAPM team will proceed creating the metric and updating your configuration in monaco.
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
|
||||||
|
## What is a custom service in Dynatrace?
|
||||||
|
- *If your application's 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 create a custom service?
|
||||||
|
1. Open the file *custom-service-java.yaml* under your *CD_<app_name>/custom-service-java* configuration folder.
|
||||||
|
2. Use customService1 as a template. Copy and paste it below, changing the skipDeployment to "false".
|
||||||
|
3. Fill up all the remaining inputs with the details of the endpoint you're interested to monitor. (className, methodName, etc...)
|
||||||
|
4. Commit and pull request to merge the branch to the master:
|
||||||
|
`git add <changes>`
|
||||||
|
`git commit -m "<app_name> configuration changes"`
|
||||||
|
`git push -u origin <branch>`
|
||||||
|
5. Restart the application where the custom service has been created.
|
||||||
|
6. Check if the custom service appears in Dynatrace.
|
||||||
|
|
||||||
|
Notes:
|
||||||
|
- As this configuration needs a restart, it's better to create it in a non-Prod application.
|
||||||
|
- The custom service will appear in Dynatrace iff there's traffic going through.
|
||||||
|
|
||||||
|
## What if i have multiple classes?
|
||||||
|
1. Clone *template-1-1.json* to a new one called *template-2-1.json*.
|
||||||
|
2. Edit *template-2-1.json* adding a 2nd rule separated with a coma.
|
||||||
|
3. For the 2nd rule, change the name of the {{.values}} to {{.values2}} i.e.
|
||||||
|
4. The template is ready to be used in the YAML file.
|
||||||
|
|
||||||
|
## What if i have multiple methods?
|
||||||
|
1. Same process as before, just call it template-1-2.json
|
||||||
|
2. In this way you can extend to a custom service with n classes and k methods: template-n-k.json
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
config:
|
||||||
|
- customService1: template-1-1.json
|
||||||
|
|
||||||
|
customService1:
|
||||||
|
- name: myJOYNRService
|
||||||
|
- className: com.bmw.cc.conn.this.is.just.an.exampleClasss
|
||||||
|
- methodName: exampleJoynrMethod
|
||||||
|
- returnType: void
|
||||||
|
- skipDeployment: "true"
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
{
|
||||||
|
"enabled": true,
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"processGroups": [],
|
||||||
|
"queueEntryPoint": false,
|
||||||
|
"queueEntryPointType": null,
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"annotations": [],
|
||||||
|
"className": "{{.className}}",
|
||||||
|
"enabled": true,
|
||||||
|
"fileName": "",
|
||||||
|
"matcher": "EQUALS",
|
||||||
|
"methodRules": [
|
||||||
|
{
|
||||||
|
"argumentTypes": [],
|
||||||
|
"methodName": "{{.methodName}}",
|
||||||
|
"returnType": "{{.returnType}}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
## Update dashboard configuration
|
||||||
|
|
||||||
|
- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco.
|
||||||
|
- How to generate changes in your dashboards?
|
||||||
|
1. Modify the dashboard within the Dynatrace UI with the intended changes.
|
||||||
|
2. Copy the JSON of the dashboards. (Can be found under the dashboard settings)
|
||||||
|
3. Paste the copied JSON under the Monaco JSON, overwrite it.
|
||||||
|
4. Commit and pull request to merge the branch to the master:
|
||||||
|
```
|
||||||
|
git add <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
config:
|
||||||
|
- CDam-casa-PROD-E2E: defaultPRODE2E.json
|
||||||
|
- CDam-casa-INT-TEST: defaultINTTEST.json
|
||||||
|
|
||||||
|
#PROD-E2E dashboards for EMEA/NA/CN Prod
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDam-casa-PROD-E2E:
|
||||||
|
- name: CD_am-casa PROD-E2E
|
||||||
|
- mzName: CD_am-casa/management-zone/CDam-casa.name
|
||||||
|
- mzId: CD_am-casa/management-zone/CDam-casa.id
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDam-casa-PROD-E2E.EMEA-Prod:
|
||||||
|
- name: CD_am-casa PROD-E2E
|
||||||
|
- mzName: CD_am-casa/management-zone/CDam-casa.name
|
||||||
|
- mzId: CD_am-casa/management-zone/CDam-casa.id
|
||||||
|
- tag: am-casa
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-casa-PROD-E2E.NA-Prod:
|
||||||
|
- name: CD_am-casa PROD-E2E
|
||||||
|
- mzName: CD_am-casa/management-zone/CDam-casa.name
|
||||||
|
- mzId: CD_am-casa/management-zone/CDam-casa.id
|
||||||
|
- tag: am-casa
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-casa-PROD-E2E.CN-Prod:
|
||||||
|
- name: CD_am-casa PROD-E2E
|
||||||
|
- mzName: CD_am-casa/management-zone/CDam-casa.name
|
||||||
|
- mzId: CD_am-casa/management-zone/CDam-casa.id
|
||||||
|
- tag: am-casa
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
||||||
|
|
||||||
|
#INT-TEST dashboards for EMEA/NA/CN PreProd
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDam-casa-INT-TEST:
|
||||||
|
- name: CD_am-casa INT-TEST
|
||||||
|
- mzName: CD_am-casa/management-zone/CDam-casa.name
|
||||||
|
- mzId: CD_am-casa/management-zone/CDam-casa.id
|
||||||
|
- tag: am-casa
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDam-casa-INT-TEST.EMEA-PreProd:
|
||||||
|
- name: CD_am-casa INT-TEST
|
||||||
|
- mzName: CD_am-casa/management-zone/CDam-casa.name
|
||||||
|
- mzId: CD_am-casa/management-zone/CDam-casa.id
|
||||||
|
- tag: am-casa
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-casa-INT-TEST.NA-PreProd:
|
||||||
|
- name: CD_am-casa INT-TEST
|
||||||
|
- mzName: CD_am-casa/management-zone/CDam-casa.name
|
||||||
|
- mzId: CD_am-casa/management-zone/CDam-casa.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-casa-INT-TEST.CN-PreProd:
|
||||||
|
- name: CD_am-casa INT-TEST
|
||||||
|
- mzName: CD_am-casa/management-zone/CDam-casa.name
|
||||||
|
- mzId: CD_am-casa/management-zone/CDam-casa.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
@ -0,0 +1,586 @@
|
||||||
|
{
|
||||||
|
"metadata": {
|
||||||
|
"configurationVersions": [
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"clusterVersion": "1.213.116.20210318-174118"
|
||||||
|
},
|
||||||
|
"dashboardMetadata": {
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"shared": false,
|
||||||
|
"owner": "Ignacio.Goldman@partner.bmwgroup.com",
|
||||||
|
"dashboardFilter": {
|
||||||
|
"managementZone": {
|
||||||
|
"id": "{{.mzId}}",
|
||||||
|
"name": "{{.mzName}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tags": [
|
||||||
|
"{{.mzName}}"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"tiles": [
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 380,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 266
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Failure rate (HTTP 4xx/5xx errors)",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fourxx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fivexx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595276148986,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Problems",
|
||||||
|
"tileType": "OPEN_PROBLEMS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 114,
|
||||||
|
"left": 1596,
|
||||||
|
"width": 152,
|
||||||
|
"height": 152
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "SERVICES",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 1064,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "SERVICE",
|
||||||
|
"customName": "Services",
|
||||||
|
"defaultName": "Services",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Overall Health - INT",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 38,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Markdown",
|
||||||
|
"tileType": "MARKDOWN",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 684,
|
||||||
|
"left": 38,
|
||||||
|
"width": 1520,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"markdown": "---\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Service1 - TEST",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 722,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 760,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 304
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Response time, Throughput and Number of Errors",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.response.time",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "LINE",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.requestCount.total",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.total.count",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275720776,
|
||||||
|
"customColor": "#008cdb"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275955999,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": {
|
||||||
|
"lastModified": 1595275686773,
|
||||||
|
"customColor": "#b4e5f9"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Service1 - INT",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 722,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 760,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 304
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Response time, Throughput and Number of Errors",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.response.time",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "LINE",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.requestCount.total",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.total.count",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275720776,
|
||||||
|
"customColor": "#008cdb"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275955999,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": {
|
||||||
|
"lastModified": 1595275686773,
|
||||||
|
"customColor": "#b4e5f9"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 380,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 266
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Failure rate (HTTP 4xx/5xx errors)",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fourxx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fivexx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595276148986,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Markdown",
|
||||||
|
"tileType": "MARKDOWN",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 304,
|
||||||
|
"left": 38,
|
||||||
|
"width": 1520,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"markdown": "---\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Failure rate - TEST (HTTP 4xx/5xx errors)",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 342,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Failure rate - INT (HTTP 4xx/5xx errors)",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 342,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "DATABASES_OVERVIEW",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 570,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "DATABASE",
|
||||||
|
"customName": "Databases",
|
||||||
|
"defaultName": "Databases",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"DATABASE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Overall Health - TEST",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 38,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "DATABASES_OVERVIEW",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 1330,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "DATABASE",
|
||||||
|
"customName": "Databases",
|
||||||
|
"defaultName": "Databases",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"DATABASE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "SERVICES",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 304,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "SERVICE",
|
||||||
|
"customName": "Services",
|
||||||
|
"defaultName": "Services",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "HOSTS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 798,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "HOST",
|
||||||
|
"customName": "Hosts",
|
||||||
|
"defaultName": "Hosts",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"HOST": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "HOSTS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 38,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "HOST",
|
||||||
|
"customName": "Hosts",
|
||||||
|
"defaultName": "Hosts",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"HOST": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,586 @@
|
||||||
|
{
|
||||||
|
"metadata": {
|
||||||
|
"configurationVersions": [
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"clusterVersion": "1.213.116.20210318-174118"
|
||||||
|
},
|
||||||
|
"dashboardMetadata": {
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"shared": false,
|
||||||
|
"owner": "Ignacio.Goldman@partner.bmwgroup.com",
|
||||||
|
"dashboardFilter": {
|
||||||
|
"managementZone": {
|
||||||
|
"id": "{{.mzId}}",
|
||||||
|
"name": "{{.mzName}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tags": [
|
||||||
|
"{{.mzName}}"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"tiles": [
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 380,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 266
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Failure rate (HTTP 4xx/5xx errors)",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fourxx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fivexx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595276148986,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:PROD"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Problems",
|
||||||
|
"tileType": "OPEN_PROBLEMS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 114,
|
||||||
|
"left": 1596,
|
||||||
|
"width": 152,
|
||||||
|
"height": 152
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "SERVICES",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 1064,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "SERVICE",
|
||||||
|
"customName": "Services",
|
||||||
|
"defaultName": "Services",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:E2E",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Overall Health - PROD",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 38,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Markdown",
|
||||||
|
"tileType": "MARKDOWN",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 684,
|
||||||
|
"left": 38,
|
||||||
|
"width": 1520,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"markdown": "---\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Service1 - E2E",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 722,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 760,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 304
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Response time, Throughput and Number of Errors",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.response.time",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "LINE",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.requestCount.total",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.total.count",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275720776,
|
||||||
|
"customColor": "#008cdb"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275955999,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": {
|
||||||
|
"lastModified": 1595275686773,
|
||||||
|
"customColor": "#b4e5f9"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:E2E"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Service1 - PROD",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 722,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 760,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 304
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Response time, Throughput and Number of Errors",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.response.time",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "LINE",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.requestCount.total",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.total.count",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275720776,
|
||||||
|
"customColor": "#008cdb"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275955999,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": {
|
||||||
|
"lastModified": 1595275686773,
|
||||||
|
"customColor": "#b4e5f9"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:PROD"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 380,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 266
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Failure rate (HTTP 4xx/5xx errors)",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fourxx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fivexx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595276148986,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:E2E"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Markdown",
|
||||||
|
"tileType": "MARKDOWN",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 304,
|
||||||
|
"left": 38,
|
||||||
|
"width": 1520,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"markdown": "---\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Failure rate - E2E (HTTP 4xx/5xx errors)",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 342,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Failure rate - PROD (HTTP 4xx/5xx errors)",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 342,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "DATABASES_OVERVIEW",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 570,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "DATABASE",
|
||||||
|
"customName": "Databases",
|
||||||
|
"defaultName": "Databases",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"DATABASE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:PROD"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Overall Health - E2E",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 38,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "DATABASES_OVERVIEW",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 1330,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "DATABASE",
|
||||||
|
"customName": "Databases",
|
||||||
|
"defaultName": "Databases",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"DATABASE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:E2E",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "SERVICES",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 304,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "SERVICE",
|
||||||
|
"customName": "Services",
|
||||||
|
"defaultName": "Services",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:PROD"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "HOSTS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 798,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "HOST",
|
||||||
|
"customName": "Hosts",
|
||||||
|
"defaultName": "Hosts",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"HOST": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:E2E",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "HOSTS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 38,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "HOST",
|
||||||
|
"customName": "Hosts",
|
||||||
|
"defaultName": "Hosts",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"HOST": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:PROD"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,76 @@
|
||||||
|
## Management Zones configuration
|
||||||
|
|
||||||
|
### Excluding noisy services
|
||||||
|
|
||||||
|
*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_<app_name>/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 <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
Note: you can use the same logic to exclude (or include) any other entity to your Management Zone.
|
||||||
|
|
@ -18,42 +18,6 @@
|
||||||
"key": {
|
"key": {
|
||||||
"attribute": "SERVICE_TAGS"
|
"attribute": "SERVICE_TAGS"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"comparisonInfo": {
|
|
||||||
"caseSensitive": true,
|
|
||||||
"negate": true,
|
|
||||||
"operator": "CONTAINS",
|
|
||||||
"type": "STRING",
|
|
||||||
"value": "HealthResource"
|
|
||||||
},
|
|
||||||
"key": {
|
|
||||||
"attribute": "SERVICE_NAME"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"comparisonInfo": {
|
|
||||||
"caseSensitive": true,
|
|
||||||
"negate": true,
|
|
||||||
"operator": "CONTAINS",
|
|
||||||
"type": "STRING",
|
|
||||||
"value": "PingResource"
|
|
||||||
},
|
|
||||||
"key": {
|
|
||||||
"attribute": "SERVICE_NAME"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"comparisonInfo": {
|
|
||||||
"caseSensitive": true,
|
|
||||||
"negate": true,
|
|
||||||
"operator": "CONTAINS",
|
|
||||||
"type": "STRING",
|
|
||||||
"value": "PrometheusResource"
|
|
||||||
},
|
|
||||||
"key": {
|
|
||||||
"attribute": "SERVICE_NAME"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
|
|
@ -86,6 +50,27 @@
|
||||||
"PROCESS_GROUP_TO_HOST"
|
"PROCESS_GROUP_TO_HOST"
|
||||||
],
|
],
|
||||||
"type": "PROCESS_GROUP"
|
"type": "PROCESS_GROUP"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"comparisonInfo": {
|
||||||
|
"negate": false,
|
||||||
|
"operator": "EQUALS",
|
||||||
|
"type": "TAG",
|
||||||
|
"value": {
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Component",
|
||||||
|
"value": "{{.tag}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"attribute": "HOST_TAGS"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"type": "HOST"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
config:
|
||||||
|
- CDam-casa: default.json
|
||||||
|
|
||||||
|
CDam-casa:
|
||||||
|
- name: CD_am-casa
|
||||||
|
- tag: am-casa
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
|
||||||
|
## Configure Notification System
|
||||||
|
|
||||||
|
### MS Teams - Default
|
||||||
|
|
||||||
|
*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.*
|
||||||
|
|
||||||
|
1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an
|
||||||
|
https://empty webhook (not configured).
|
||||||
|
2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams)
|
||||||
|
3. Add the incoming webhook under the webhook parameter for the `<app_name>-PROD.EMEA-Prod`:
|
||||||
|
```
|
||||||
|
<app_name>-PROD.EMEA-Prod:
|
||||||
|
- name: CD_<app_name> PROD
|
||||||
|
- alertingProfile: CD_<app_name>/alerting-profile/CD<app_name>-PROD.id
|
||||||
|
- webhook: <Add webhook here>
|
||||||
|
- skipDeployment: "false"
|
||||||
|
```
|
||||||
|
4. Save and commit changes:
|
||||||
|
```
|
||||||
|
git add <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration:
|
||||||
|
`<app_name>-<stage>.<dynatrace-env>-<stage>:`
|
||||||
|
|
||||||
|
### Email
|
||||||
|
|
||||||
|
*The team prefers to be alerted via email, not MS Teams*
|
||||||
|
|
||||||
|
1. Keep the MS Teams integration disabled, with the https://empty webhook:
|
||||||
|
```
|
||||||
|
<app_name>-PROD.EMEA-Prod:
|
||||||
|
- name: CD_<app_name> PROD
|
||||||
|
- alertingProfile: CD_<app_name>/alerting-profile/CD<app_name>-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
```
|
||||||
|
2. Create a new configuration template under config, using the email template:
|
||||||
|
```
|
||||||
|
config:
|
||||||
|
- CD<app_name>email: email.json
|
||||||
|
```
|
||||||
|
3. Describe the configuration below, using the following template:
|
||||||
|
```
|
||||||
|
CD<app_name>email.EMEA-Prod:
|
||||||
|
- name: CD_<app_name> PROD
|
||||||
|
- alertingProfile: CD_<app_name>/alerting-profile/CD<app_name>-PROD.id
|
||||||
|
- receivers: distributionEmailexample@bmw.de`
|
||||||
|
```
|
||||||
|
4. Save and commit changes:
|
||||||
|
```
|
||||||
|
git add <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
|
||||||
|
### ITSM
|
||||||
|
Coming soon!
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"active": true,
|
||||||
|
"alertingProfile": "{{.alertingProfile}}",
|
||||||
|
"bccReceivers": [],
|
||||||
|
"body": "{ProblemDetailsHTML}",
|
||||||
|
"ccReceivers": [],
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"receivers": [
|
||||||
|
"{{.receivers}}"
|
||||||
|
],
|
||||||
|
"subject": "{State} Problem {ProblemID}: {ImpactedEntity}",
|
||||||
|
"type": "EMAIL"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"acceptAnyCertificate": false,
|
||||||
|
"active": true,
|
||||||
|
"alertingProfile": "{{.alertingProfile}}",
|
||||||
|
"headers": [],
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"notifyEventMergesEnabled": false,
|
||||||
|
"payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}",
|
||||||
|
"type": "WEBHOOK",
|
||||||
|
"url": "{{.webhook}}"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
config:
|
||||||
|
- CDam-casa-PROD: msTeams.json
|
||||||
|
- CDam-casa-INT: msTeams.json
|
||||||
|
|
||||||
|
#Prod notification system for EMEA/NA/CN
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDam-casa-PROD:
|
||||||
|
- name: CD_am-casa PROD
|
||||||
|
- alertingProfile: CD_am-casa/alerting-profile/CDam-casa-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDam-casa-PROD.EMEA-Prod:
|
||||||
|
- name: CD_am-casa PROD
|
||||||
|
- alertingProfile: CD_am-casa/alerting-profile/CDam-casa-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-casa-PROD.NA-Prod:
|
||||||
|
- name: CD_am-casa PROD
|
||||||
|
- alertingProfile: CD_am-casa/alerting-profile/CDam-casa-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-casa-PROD.CN-Prod:
|
||||||
|
- name: CD_am-casa PROD
|
||||||
|
- alertingProfile: CD_am-casa/alerting-profile/CDam-casa-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
||||||
|
#INT notification system for EMEA/NA/CN
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDam-casa-INT:
|
||||||
|
- name: CD_am-casa INT
|
||||||
|
- alertingProfile: CD_am-casa/alerting-profile/CDam-casa-INT.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDam-casa-INT.EMEA-PreProd:
|
||||||
|
- name: CD_am-casa INT
|
||||||
|
- alertingProfile: CD_am-casa/alerting-profile/CDam-casa-INT.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-casa-INT.NA-PreProd:
|
||||||
|
- name: CD_am-casa INT
|
||||||
|
- alertingProfile: CD_am-casa/alerting-profile/CDam-casa-INT.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-casa-INT.CN-PreProd:
|
||||||
|
- name: CD_am-casa INT
|
||||||
|
- alertingProfile: CD_am-casa/alerting-profile/CDam-casa-INT.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
# Synthetic Configuration
|
||||||
|
|
||||||
|
To calculate the Availability KPI, a synthetic must be configured.
|
||||||
|
|
||||||
|
1. Modify the synthetic-monitor.yaml file, providing:
|
||||||
|
- **Endpoint**: url intended to check the availability.
|
||||||
|
- **Location**:
|
||||||
|
- *synthetic private location*: If the endpoint is reachable within the BMW network.
|
||||||
|
```
|
||||||
|
- location: BMW-Dynatrace-config/00_Global-Config/synthetic-location/BMW-AWS-Frankfurt.id
|
||||||
|
```
|
||||||
|
- *synthetic public location*: If the endpoint is reachable from the internet.
|
||||||
|
```
|
||||||
|
- location: GEOLOCATION-45AB48D9D6925ECC
|
||||||
|
```
|
||||||
|
2. Change `skipDeployment` to false.
|
||||||
|
|
||||||
|
i.e.
|
||||||
|
```
|
||||||
|
config:
|
||||||
|
- my-synthetic: default.json
|
||||||
|
|
||||||
|
my-synthetic:
|
||||||
|
- name: CD_BMW - bmw.com
|
||||||
|
- mzName: CD_google/management-zone/CDgoogle.name
|
||||||
|
- mzId: CD_google/management-zone/CDgoogle.id
|
||||||
|
- endpoint: https://google.com
|
||||||
|
- location: GEOLOCATION-45AB48D9D6925ECC
|
||||||
|
- skipDeployment: "false"
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Commit and pull request to merge the branch to the master:
|
||||||
|
```
|
||||||
|
git add <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
|
@ -0,0 +1,82 @@
|
||||||
|
{
|
||||||
|
"anomalyDetection": {
|
||||||
|
"loadingTimeThresholds": {
|
||||||
|
"enabled": false,
|
||||||
|
"thresholds": [
|
||||||
|
{
|
||||||
|
"type": "TOTAL",
|
||||||
|
"valueMs": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"outageHandling": {
|
||||||
|
"globalOutage": true,
|
||||||
|
"localOutage": false,
|
||||||
|
"localOutagePolicy": {
|
||||||
|
"affectedLocations": 1,
|
||||||
|
"consecutiveRuns": 3
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"automaticallyAssignedApps": [],
|
||||||
|
"enabled": true,
|
||||||
|
"frequencyMin": 1,
|
||||||
|
"locations": [
|
||||||
|
"{{.location}}"
|
||||||
|
],
|
||||||
|
"managementZones": [
|
||||||
|
{
|
||||||
|
"id": "{{.mzId}}",
|
||||||
|
"name": "{{.mzName}}"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"manuallyAssignedApps": [],
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"requests": [
|
||||||
|
{
|
||||||
|
"entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A",
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"sequenceNumber": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"script": {
|
||||||
|
"requests": [
|
||||||
|
{
|
||||||
|
"configuration": {
|
||||||
|
"acceptAnyCertificate": true,
|
||||||
|
"followRedirects": true,
|
||||||
|
"requestHeaders": [
|
||||||
|
{
|
||||||
|
"name": "accept",
|
||||||
|
"value": "application/json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Content-Type",
|
||||||
|
"value": "application/json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "api_key",
|
||||||
|
"value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"description": "{{.name}}",
|
||||||
|
"method": "GET",
|
||||||
|
"url": "{{.endpoint}}",
|
||||||
|
"validation": {
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"passIfFound": true,
|
||||||
|
"type": "httpStatusesList",
|
||||||
|
"value": "200"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"rulesChaining": "or"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"version": "1.0"
|
||||||
|
},
|
||||||
|
"tags": [],
|
||||||
|
"type": "HTTP"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
config:
|
||||||
|
- am-casa: default.json
|
||||||
|
|
||||||
|
am-casa:
|
||||||
|
- name: CD_am-casa - <synthetic-name>
|
||||||
|
- mzName: CD_am-casa/management-zone/CDam-casa.name
|
||||||
|
- mzId: CD_am-casa/management-zone/CDam-casa.id
|
||||||
|
- endpoint: <url>
|
||||||
|
- location: <location>
|
||||||
|
- skipDeployment: "true"
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
config:
|
||||||
|
- CDam-cesim-PROD: default.json
|
||||||
|
- CDam-cesim-INT: default.json
|
||||||
|
|
||||||
|
#Prod alerting profiles for EMEA/NA/CN
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDam-cesim-PROD:
|
||||||
|
- name: CD_am-cesim PROD
|
||||||
|
- tag: am-cesim
|
||||||
|
- mzId: CD_am-cesim/management-zone/CDam-cesim.id
|
||||||
|
- env: PROD
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDam-cesim-PROD.EMEA-Prod:
|
||||||
|
- name: CD_am-cesim PROD
|
||||||
|
- tag: am-cesim
|
||||||
|
- mzId: CD_am-cesim/management-zone/CDam-cesim.id
|
||||||
|
- env: PROD
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-cesim-PROD.NA-Prod:
|
||||||
|
- name: CD_am-cesim PROD
|
||||||
|
- tag: am-cesim
|
||||||
|
- mzId: CD_am-cesim/management-zone/CDam-cesim.id
|
||||||
|
- env: PROD
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-cesim-PROD.CN-Prod:
|
||||||
|
- name: CD_am-cesim PROD
|
||||||
|
- tag: am-cesim
|
||||||
|
- mzId: CD_am-cesim/management-zone/CDam-cesim.id
|
||||||
|
- env: PROD
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
||||||
|
|
||||||
|
#INT alerting profiles for EMEA/NA/CN
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDam-cesim-INT:
|
||||||
|
- name: CD_am-cesim INT
|
||||||
|
- tag: am-cesim
|
||||||
|
- mzId: CD_am-cesim/management-zone/CDam-cesim.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDam-cesim-INT.EMEA-PreProd:
|
||||||
|
- name: CD_am-cesim INT
|
||||||
|
- tag: am-cesim
|
||||||
|
- mzId: CD_am-cesim/management-zone/CDam-cesim.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-cesim-INT.NA-PreProd:
|
||||||
|
- name: CD_am-cesim INT
|
||||||
|
- tag: am-cesim
|
||||||
|
- mzId: CD_am-cesim/management-zone/CDam-cesim.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-cesim-INT.CN-PreProd:
|
||||||
|
- name: CD_am-cesim INT
|
||||||
|
- tag: am-cesim
|
||||||
|
- mzId: CD_am-cesim/management-zone/CDam-cesim.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
@ -8,12 +8,17 @@
|
||||||
"delayInMinutes": 0,
|
"delayInMinutes": 0,
|
||||||
"severityLevel": "AVAILABILITY",
|
"severityLevel": "AVAILABILITY",
|
||||||
"tagFilter": {
|
"tagFilter": {
|
||||||
"includeMode": "INCLUDE_ANY",
|
"includeMode": "INCLUDE_ALL",
|
||||||
"tagFilters": [
|
"tagFilters": [
|
||||||
{
|
{
|
||||||
"context": "CONTEXTLESS",
|
"context": "CONTEXTLESS",
|
||||||
"key": "Component",
|
"key": "Component",
|
||||||
"value": "{{.tag}}"
|
"value": "{{.tag}}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Environment",
|
||||||
|
"value": "{{.env}}"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -22,12 +27,17 @@
|
||||||
"delayInMinutes": 10,
|
"delayInMinutes": 10,
|
||||||
"severityLevel": "ERROR",
|
"severityLevel": "ERROR",
|
||||||
"tagFilter": {
|
"tagFilter": {
|
||||||
"includeMode": "INCLUDE_ANY",
|
"includeMode": "INCLUDE_ALL",
|
||||||
"tagFilters": [
|
"tagFilters": [
|
||||||
{
|
{
|
||||||
"context": "CONTEXTLESS",
|
"context": "CONTEXTLESS",
|
||||||
"key": "Component",
|
"key": "Component",
|
||||||
"value": "{{.tag}}"
|
"value": "{{.tag}}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Environment",
|
||||||
|
"value": "{{.env}}"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -36,12 +46,17 @@
|
||||||
"delayInMinutes": 30,
|
"delayInMinutes": 30,
|
||||||
"severityLevel": "PERFORMANCE",
|
"severityLevel": "PERFORMANCE",
|
||||||
"tagFilter": {
|
"tagFilter": {
|
||||||
"includeMode": "INCLUDE_ANY",
|
"includeMode": "INCLUDE_ALL",
|
||||||
"tagFilters": [
|
"tagFilters": [
|
||||||
{
|
{
|
||||||
"context": "CONTEXTLESS",
|
"context": "CONTEXTLESS",
|
||||||
"key": "Component",
|
"key": "Component",
|
||||||
"value": "{{.tag}}"
|
"value": "{{.tag}}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Environment",
|
||||||
|
"value": "{{.env}}"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -50,12 +65,17 @@
|
||||||
"delayInMinutes": 30,
|
"delayInMinutes": 30,
|
||||||
"severityLevel": "RESOURCE_CONTENTION",
|
"severityLevel": "RESOURCE_CONTENTION",
|
||||||
"tagFilter": {
|
"tagFilter": {
|
||||||
"includeMode": "INCLUDE_ANY",
|
"includeMode": "INCLUDE_ALL",
|
||||||
"tagFilters": [
|
"tagFilters": [
|
||||||
{
|
{
|
||||||
"context": "CONTEXTLESS",
|
"context": "CONTEXTLESS",
|
||||||
"key": "Component",
|
"key": "Component",
|
||||||
"value": "{{.tag}}"
|
"value": "{{.tag}}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Environment",
|
||||||
|
"value": "{{.env}}"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -64,26 +84,17 @@
|
||||||
"delayInMinutes": 10,
|
"delayInMinutes": 10,
|
||||||
"severityLevel": "CUSTOM_ALERT",
|
"severityLevel": "CUSTOM_ALERT",
|
||||||
"tagFilter": {
|
"tagFilter": {
|
||||||
"includeMode": "INCLUDE_ANY",
|
"includeMode": "INCLUDE_ALL",
|
||||||
"tagFilters": [
|
"tagFilters": [
|
||||||
{
|
{
|
||||||
"context": "CONTEXTLESS",
|
"context": "CONTEXTLESS",
|
||||||
"key": "Component",
|
"key": "Component",
|
||||||
"value": "{{.tag}}"
|
"value": "{{.tag}}"
|
||||||
}
|
},
|
||||||
]
|
{
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"delayInMinutes": 0,
|
|
||||||
"severityLevel": "MONITORING_UNAVAILABLE",
|
|
||||||
"tagFilter": {
|
|
||||||
"includeMode": "INCLUDE_ANY",
|
|
||||||
"tagFilters": [
|
|
||||||
{
|
|
||||||
"context": "CONTEXTLESS",
|
"context": "CONTEXTLESS",
|
||||||
"key": "Component",
|
"key": "Environment",
|
||||||
"value": "{{.tag}}"
|
"value": "{{.env}}"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
## Custom metrics - Multidimensional Analysis
|
||||||
|
|
||||||
|
Under the Multidimensional Analysis you're able to save a view but not to create a metric. Instead, you can do it in here:
|
||||||
|
|
||||||
|
1. Create the metric within the Dynatrace UI using the Mutidimensional Analysis view.
|
||||||
|
2. Save the view and create a ticket for the OPAPM team [here](link). Please provide the following information:
|
||||||
|
- View created in the Dynatrace UI
|
||||||
|
- Your Dynatrace configuration folder (i.e. CD_<app_name>)
|
||||||
|
|
||||||
|
The OPAPM team will proceed creating the metric and updating your configuration in monaco.
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
|
||||||
|
## What is a custom service in Dynatrace?
|
||||||
|
- *If your application's 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 create a custom service?
|
||||||
|
1. Open the file *custom-service-java.yaml* under your *CD_<app_name>/custom-service-java* configuration folder.
|
||||||
|
2. Use customService1 as a template. Copy and paste it below, changing the skipDeployment to "false".
|
||||||
|
3. Fill up all the remaining inputs with the details of the endpoint you're interested to monitor. (className, methodName, etc...)
|
||||||
|
4. Commit and pull request to merge the branch to the master:
|
||||||
|
`git add <changes>`
|
||||||
|
`git commit -m "<app_name> configuration changes"`
|
||||||
|
`git push -u origin <branch>`
|
||||||
|
5. Restart the application where the custom service has been created.
|
||||||
|
6. Check if the custom service appears in Dynatrace.
|
||||||
|
|
||||||
|
Notes:
|
||||||
|
- As this configuration needs a restart, it's better to create it in a non-Prod application.
|
||||||
|
- The custom service will appear in Dynatrace iff there's traffic going through.
|
||||||
|
|
||||||
|
## What if i have multiple classes?
|
||||||
|
1. Clone *template-1-1.json* to a new one called *template-2-1.json*.
|
||||||
|
2. Edit *template-2-1.json* adding a 2nd rule separated with a coma.
|
||||||
|
3. For the 2nd rule, change the name of the {{.values}} to {{.values2}} i.e.
|
||||||
|
4. The template is ready to be used in the YAML file.
|
||||||
|
|
||||||
|
## What if i have multiple methods?
|
||||||
|
1. Same process as before, just call it template-1-2.json
|
||||||
|
2. In this way you can extend to a custom service with n classes and k methods: template-n-k.json
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
config:
|
||||||
|
- customService1: template-1-1.json
|
||||||
|
|
||||||
|
customService1:
|
||||||
|
- name: myJOYNRService
|
||||||
|
- className: com.bmw.cc.conn.this.is.just.an.exampleClasss
|
||||||
|
- methodName: exampleJoynrMethod
|
||||||
|
- returnType: void
|
||||||
|
- skipDeployment: "true"
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
{
|
||||||
|
"enabled": true,
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"processGroups": [],
|
||||||
|
"queueEntryPoint": false,
|
||||||
|
"queueEntryPointType": null,
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"annotations": [],
|
||||||
|
"className": "{{.className}}",
|
||||||
|
"enabled": true,
|
||||||
|
"fileName": "",
|
||||||
|
"matcher": "EQUALS",
|
||||||
|
"methodRules": [
|
||||||
|
{
|
||||||
|
"argumentTypes": [],
|
||||||
|
"methodName": "{{.methodName}}",
|
||||||
|
"returnType": "{{.returnType}}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
## Update dashboard configuration
|
||||||
|
|
||||||
|
- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco.
|
||||||
|
- How to generate changes in your dashboards?
|
||||||
|
1. Modify the dashboard within the Dynatrace UI with the intended changes.
|
||||||
|
2. Copy the JSON of the dashboards. (Can be found under the dashboard settings)
|
||||||
|
3. Paste the copied JSON under the Monaco JSON, overwrite it.
|
||||||
|
4. Commit and pull request to merge the branch to the master:
|
||||||
|
```
|
||||||
|
git add <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
config:
|
||||||
|
- CDam-cesim-PROD-E2E: defaultPRODE2E.json
|
||||||
|
- CDam-cesim-INT-TEST: defaultINTTEST.json
|
||||||
|
|
||||||
|
#PROD-E2E dashboards for EMEA/NA/CN Prod
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDam-cesim-PROD-E2E:
|
||||||
|
- name: CD_am-cesim PROD-E2E
|
||||||
|
- mzName: CD_am-cesim/management-zone/CDam-cesim.name
|
||||||
|
- mzId: CD_am-cesim/management-zone/CDam-cesim.id
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDam-cesim-PROD-E2E.EMEA-Prod:
|
||||||
|
- name: CD_am-cesim PROD-E2E
|
||||||
|
- mzName: CD_am-cesim/management-zone/CDam-cesim.name
|
||||||
|
- mzId: CD_am-cesim/management-zone/CDam-cesim.id
|
||||||
|
- tag: am-cesim
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-cesim-PROD-E2E.NA-Prod:
|
||||||
|
- name: CD_am-cesim PROD-E2E
|
||||||
|
- mzName: CD_am-cesim/management-zone/CDam-cesim.name
|
||||||
|
- mzId: CD_am-cesim/management-zone/CDam-cesim.id
|
||||||
|
- tag: am-cesim
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-cesim-PROD-E2E.CN-Prod:
|
||||||
|
- name: CD_am-cesim PROD-E2E
|
||||||
|
- mzName: CD_am-cesim/management-zone/CDam-cesim.name
|
||||||
|
- mzId: CD_am-cesim/management-zone/CDam-cesim.id
|
||||||
|
- tag: am-cesim
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
||||||
|
|
||||||
|
#INT-TEST dashboards for EMEA/NA/CN PreProd
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDam-cesim-INT-TEST:
|
||||||
|
- name: CD_am-cesim INT-TEST
|
||||||
|
- mzName: CD_am-cesim/management-zone/CDam-cesim.name
|
||||||
|
- mzId: CD_am-cesim/management-zone/CDam-cesim.id
|
||||||
|
- tag: am-cesim
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDam-cesim-INT-TEST.EMEA-PreProd:
|
||||||
|
- name: CD_am-cesim INT-TEST
|
||||||
|
- mzName: CD_am-cesim/management-zone/CDam-cesim.name
|
||||||
|
- mzId: CD_am-cesim/management-zone/CDam-cesim.id
|
||||||
|
- tag: am-cesim
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-cesim-INT-TEST.NA-PreProd:
|
||||||
|
- name: CD_am-cesim INT-TEST
|
||||||
|
- mzName: CD_am-cesim/management-zone/CDam-cesim.name
|
||||||
|
- mzId: CD_am-cesim/management-zone/CDam-cesim.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-cesim-INT-TEST.CN-PreProd:
|
||||||
|
- name: CD_am-cesim INT-TEST
|
||||||
|
- mzName: CD_am-cesim/management-zone/CDam-cesim.name
|
||||||
|
- mzId: CD_am-cesim/management-zone/CDam-cesim.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
@ -0,0 +1,586 @@
|
||||||
|
{
|
||||||
|
"metadata": {
|
||||||
|
"configurationVersions": [
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"clusterVersion": "1.213.116.20210318-174118"
|
||||||
|
},
|
||||||
|
"dashboardMetadata": {
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"shared": false,
|
||||||
|
"owner": "Ignacio.Goldman@partner.bmwgroup.com",
|
||||||
|
"dashboardFilter": {
|
||||||
|
"managementZone": {
|
||||||
|
"id": "{{.mzId}}",
|
||||||
|
"name": "{{.mzName}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tags": [
|
||||||
|
"{{.mzName}}"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"tiles": [
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 380,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 266
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Failure rate (HTTP 4xx/5xx errors)",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fourxx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fivexx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595276148986,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Problems",
|
||||||
|
"tileType": "OPEN_PROBLEMS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 114,
|
||||||
|
"left": 1596,
|
||||||
|
"width": 152,
|
||||||
|
"height": 152
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "SERVICES",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 1064,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "SERVICE",
|
||||||
|
"customName": "Services",
|
||||||
|
"defaultName": "Services",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Overall Health - INT",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 38,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Markdown",
|
||||||
|
"tileType": "MARKDOWN",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 684,
|
||||||
|
"left": 38,
|
||||||
|
"width": 1520,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"markdown": "---\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Service1 - TEST",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 722,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 760,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 304
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Response time, Throughput and Number of Errors",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.response.time",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "LINE",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.requestCount.total",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.total.count",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275720776,
|
||||||
|
"customColor": "#008cdb"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275955999,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": {
|
||||||
|
"lastModified": 1595275686773,
|
||||||
|
"customColor": "#b4e5f9"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Service1 - INT",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 722,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 760,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 304
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Response time, Throughput and Number of Errors",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.response.time",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "LINE",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.requestCount.total",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.total.count",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275720776,
|
||||||
|
"customColor": "#008cdb"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275955999,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": {
|
||||||
|
"lastModified": 1595275686773,
|
||||||
|
"customColor": "#b4e5f9"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 380,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 266
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Failure rate (HTTP 4xx/5xx errors)",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fourxx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fivexx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595276148986,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Markdown",
|
||||||
|
"tileType": "MARKDOWN",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 304,
|
||||||
|
"left": 38,
|
||||||
|
"width": 1520,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"markdown": "---\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Failure rate - TEST (HTTP 4xx/5xx errors)",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 342,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Failure rate - INT (HTTP 4xx/5xx errors)",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 342,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "DATABASES_OVERVIEW",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 570,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "DATABASE",
|
||||||
|
"customName": "Databases",
|
||||||
|
"defaultName": "Databases",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"DATABASE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Overall Health - TEST",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 38,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "DATABASES_OVERVIEW",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 1330,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "DATABASE",
|
||||||
|
"customName": "Databases",
|
||||||
|
"defaultName": "Databases",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"DATABASE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "SERVICES",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 304,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "SERVICE",
|
||||||
|
"customName": "Services",
|
||||||
|
"defaultName": "Services",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "HOSTS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 798,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "HOST",
|
||||||
|
"customName": "Hosts",
|
||||||
|
"defaultName": "Hosts",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"HOST": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "HOSTS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 38,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "HOST",
|
||||||
|
"customName": "Hosts",
|
||||||
|
"defaultName": "Hosts",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"HOST": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,586 @@
|
||||||
|
{
|
||||||
|
"metadata": {
|
||||||
|
"configurationVersions": [
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"clusterVersion": "1.213.116.20210318-174118"
|
||||||
|
},
|
||||||
|
"dashboardMetadata": {
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"shared": false,
|
||||||
|
"owner": "Ignacio.Goldman@partner.bmwgroup.com",
|
||||||
|
"dashboardFilter": {
|
||||||
|
"managementZone": {
|
||||||
|
"id": "{{.mzId}}",
|
||||||
|
"name": "{{.mzName}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tags": [
|
||||||
|
"{{.mzName}}"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"tiles": [
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 380,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 266
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Failure rate (HTTP 4xx/5xx errors)",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fourxx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fivexx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595276148986,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:PROD"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Problems",
|
||||||
|
"tileType": "OPEN_PROBLEMS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 114,
|
||||||
|
"left": 1596,
|
||||||
|
"width": 152,
|
||||||
|
"height": 152
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "SERVICES",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 1064,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "SERVICE",
|
||||||
|
"customName": "Services",
|
||||||
|
"defaultName": "Services",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:E2E",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Overall Health - PROD",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 38,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Markdown",
|
||||||
|
"tileType": "MARKDOWN",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 684,
|
||||||
|
"left": 38,
|
||||||
|
"width": 1520,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"markdown": "---\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Service1 - E2E",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 722,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 760,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 304
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Response time, Throughput and Number of Errors",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.response.time",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "LINE",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.requestCount.total",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.total.count",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275720776,
|
||||||
|
"customColor": "#008cdb"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275955999,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": {
|
||||||
|
"lastModified": 1595275686773,
|
||||||
|
"customColor": "#b4e5f9"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:E2E"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Service1 - PROD",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 722,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 760,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 304
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Response time, Throughput and Number of Errors",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.response.time",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "LINE",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.requestCount.total",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.total.count",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275720776,
|
||||||
|
"customColor": "#008cdb"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275955999,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": {
|
||||||
|
"lastModified": 1595275686773,
|
||||||
|
"customColor": "#b4e5f9"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:PROD"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 380,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 266
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Failure rate (HTTP 4xx/5xx errors)",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fourxx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fivexx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595276148986,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:E2E"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Markdown",
|
||||||
|
"tileType": "MARKDOWN",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 304,
|
||||||
|
"left": 38,
|
||||||
|
"width": 1520,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"markdown": "---\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Failure rate - E2E (HTTP 4xx/5xx errors)",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 342,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Failure rate - PROD (HTTP 4xx/5xx errors)",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 342,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "DATABASES_OVERVIEW",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 570,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "DATABASE",
|
||||||
|
"customName": "Databases",
|
||||||
|
"defaultName": "Databases",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"DATABASE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:PROD"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Overall Health - E2E",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 38,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "DATABASES_OVERVIEW",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 1330,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "DATABASE",
|
||||||
|
"customName": "Databases",
|
||||||
|
"defaultName": "Databases",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"DATABASE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:E2E",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "SERVICES",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 304,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "SERVICE",
|
||||||
|
"customName": "Services",
|
||||||
|
"defaultName": "Services",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:PROD"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "HOSTS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 798,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "HOST",
|
||||||
|
"customName": "Hosts",
|
||||||
|
"defaultName": "Hosts",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"HOST": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:E2E",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "HOSTS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 38,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "HOST",
|
||||||
|
"customName": "Hosts",
|
||||||
|
"defaultName": "Hosts",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"HOST": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:PROD"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,76 @@
|
||||||
|
## Management Zones configuration
|
||||||
|
|
||||||
|
### Excluding noisy services
|
||||||
|
|
||||||
|
*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_<app_name>/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 <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
Note: you can use the same logic to exclude (or include) any other entity to your Management Zone.
|
||||||
|
|
@ -18,42 +18,6 @@
|
||||||
"key": {
|
"key": {
|
||||||
"attribute": "SERVICE_TAGS"
|
"attribute": "SERVICE_TAGS"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"comparisonInfo": {
|
|
||||||
"caseSensitive": true,
|
|
||||||
"negate": true,
|
|
||||||
"operator": "CONTAINS",
|
|
||||||
"type": "STRING",
|
|
||||||
"value": "HealthResource"
|
|
||||||
},
|
|
||||||
"key": {
|
|
||||||
"attribute": "SERVICE_NAME"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"comparisonInfo": {
|
|
||||||
"caseSensitive": true,
|
|
||||||
"negate": true,
|
|
||||||
"operator": "CONTAINS",
|
|
||||||
"type": "STRING",
|
|
||||||
"value": "PingResource"
|
|
||||||
},
|
|
||||||
"key": {
|
|
||||||
"attribute": "SERVICE_NAME"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"comparisonInfo": {
|
|
||||||
"caseSensitive": true,
|
|
||||||
"negate": true,
|
|
||||||
"operator": "CONTAINS",
|
|
||||||
"type": "STRING",
|
|
||||||
"value": "PrometheusResource"
|
|
||||||
},
|
|
||||||
"key": {
|
|
||||||
"attribute": "SERVICE_NAME"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
|
|
@ -86,6 +50,27 @@
|
||||||
"PROCESS_GROUP_TO_HOST"
|
"PROCESS_GROUP_TO_HOST"
|
||||||
],
|
],
|
||||||
"type": "PROCESS_GROUP"
|
"type": "PROCESS_GROUP"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"comparisonInfo": {
|
||||||
|
"negate": false,
|
||||||
|
"operator": "EQUALS",
|
||||||
|
"type": "TAG",
|
||||||
|
"value": {
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Component",
|
||||||
|
"value": "{{.tag}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"attribute": "HOST_TAGS"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"type": "HOST"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
config:
|
||||||
|
- CDam-cesim: default.json
|
||||||
|
|
||||||
|
CDam-cesim:
|
||||||
|
- name: CD_am-cesim
|
||||||
|
- tag: am-cesim
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
|
||||||
|
## Configure Notification System
|
||||||
|
|
||||||
|
### MS Teams - Default
|
||||||
|
|
||||||
|
*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.*
|
||||||
|
|
||||||
|
1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an
|
||||||
|
https://empty webhook (not configured).
|
||||||
|
2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams)
|
||||||
|
3. Add the incoming webhook under the webhook parameter for the `<app_name>-PROD.EMEA-Prod`:
|
||||||
|
```
|
||||||
|
<app_name>-PROD.EMEA-Prod:
|
||||||
|
- name: CD_<app_name> PROD
|
||||||
|
- alertingProfile: CD_<app_name>/alerting-profile/CD<app_name>-PROD.id
|
||||||
|
- webhook: <Add webhook here>
|
||||||
|
- skipDeployment: "false"
|
||||||
|
```
|
||||||
|
4. Save and commit changes:
|
||||||
|
```
|
||||||
|
git add <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration:
|
||||||
|
`<app_name>-<stage>.<dynatrace-env>-<stage>:`
|
||||||
|
|
||||||
|
### Email
|
||||||
|
|
||||||
|
*The team prefers to be alerted via email, not MS Teams*
|
||||||
|
|
||||||
|
1. Keep the MS Teams integration disabled, with the https://empty webhook:
|
||||||
|
```
|
||||||
|
<app_name>-PROD.EMEA-Prod:
|
||||||
|
- name: CD_<app_name> PROD
|
||||||
|
- alertingProfile: CD_<app_name>/alerting-profile/CD<app_name>-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
```
|
||||||
|
2. Create a new configuration template under config, using the email template:
|
||||||
|
```
|
||||||
|
config:
|
||||||
|
- CD<app_name>email: email.json
|
||||||
|
```
|
||||||
|
3. Describe the configuration below, using the following template:
|
||||||
|
```
|
||||||
|
CD<app_name>email.EMEA-Prod:
|
||||||
|
- name: CD_<app_name> PROD
|
||||||
|
- alertingProfile: CD_<app_name>/alerting-profile/CD<app_name>-PROD.id
|
||||||
|
- receivers: distributionEmailexample@bmw.de`
|
||||||
|
```
|
||||||
|
4. Save and commit changes:
|
||||||
|
```
|
||||||
|
git add <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
|
||||||
|
### ITSM
|
||||||
|
Coming soon!
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"active": true,
|
||||||
|
"alertingProfile": "{{.alertingProfile}}",
|
||||||
|
"bccReceivers": [],
|
||||||
|
"body": "{ProblemDetailsHTML}",
|
||||||
|
"ccReceivers": [],
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"receivers": [
|
||||||
|
"{{.receivers}}"
|
||||||
|
],
|
||||||
|
"subject": "{State} Problem {ProblemID}: {ImpactedEntity}",
|
||||||
|
"type": "EMAIL"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"acceptAnyCertificate": false,
|
||||||
|
"active": true,
|
||||||
|
"alertingProfile": "{{.alertingProfile}}",
|
||||||
|
"headers": [],
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"notifyEventMergesEnabled": false,
|
||||||
|
"payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}",
|
||||||
|
"type": "WEBHOOK",
|
||||||
|
"url": "{{.webhook}}"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
config:
|
||||||
|
- CDam-cesim-PROD: msTeams.json
|
||||||
|
- CDam-cesim-INT: msTeams.json
|
||||||
|
|
||||||
|
#Prod notification system for EMEA/NA/CN
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDam-cesim-PROD:
|
||||||
|
- name: CD_am-cesim PROD
|
||||||
|
- alertingProfile: CD_am-cesim/alerting-profile/CDam-cesim-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDam-cesim-PROD.EMEA-Prod:
|
||||||
|
- name: CD_am-cesim PROD
|
||||||
|
- alertingProfile: CD_am-cesim/alerting-profile/CDam-cesim-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-cesim-PROD.NA-Prod:
|
||||||
|
- name: CD_am-cesim PROD
|
||||||
|
- alertingProfile: CD_am-cesim/alerting-profile/CDam-cesim-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-cesim-PROD.CN-Prod:
|
||||||
|
- name: CD_am-cesim PROD
|
||||||
|
- alertingProfile: CD_am-cesim/alerting-profile/CDam-cesim-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
||||||
|
#INT notification system for EMEA/NA/CN
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDam-cesim-INT:
|
||||||
|
- name: CD_am-cesim INT
|
||||||
|
- alertingProfile: CD_am-cesim/alerting-profile/CDam-cesim-INT.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDam-cesim-INT.EMEA-PreProd:
|
||||||
|
- name: CD_am-cesim INT
|
||||||
|
- alertingProfile: CD_am-cesim/alerting-profile/CDam-cesim-INT.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-cesim-INT.NA-PreProd:
|
||||||
|
- name: CD_am-cesim INT
|
||||||
|
- alertingProfile: CD_am-cesim/alerting-profile/CDam-cesim-INT.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-cesim-INT.CN-PreProd:
|
||||||
|
- name: CD_am-cesim INT
|
||||||
|
- alertingProfile: CD_am-cesim/alerting-profile/CDam-cesim-INT.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
# Synthetic Configuration
|
||||||
|
|
||||||
|
To calculate the Availability KPI, a synthetic must be configured.
|
||||||
|
|
||||||
|
1. Modify the synthetic-monitor.yaml file, providing:
|
||||||
|
- **Endpoint**: url intended to check the availability.
|
||||||
|
- **Location**:
|
||||||
|
- *synthetic private location*: If the endpoint is reachable within the BMW network.
|
||||||
|
```
|
||||||
|
- location: BMW-Dynatrace-config/00_Global-Config/synthetic-location/BMW-AWS-Frankfurt.id
|
||||||
|
```
|
||||||
|
- *synthetic public location*: If the endpoint is reachable from the internet.
|
||||||
|
```
|
||||||
|
- location: GEOLOCATION-45AB48D9D6925ECC
|
||||||
|
```
|
||||||
|
2. Change `skipDeployment` to false.
|
||||||
|
|
||||||
|
i.e.
|
||||||
|
```
|
||||||
|
config:
|
||||||
|
- my-synthetic: default.json
|
||||||
|
|
||||||
|
my-synthetic:
|
||||||
|
- name: CD_BMW - bmw.com
|
||||||
|
- mzName: CD_google/management-zone/CDgoogle.name
|
||||||
|
- mzId: CD_google/management-zone/CDgoogle.id
|
||||||
|
- endpoint: https://google.com
|
||||||
|
- location: GEOLOCATION-45AB48D9D6925ECC
|
||||||
|
- skipDeployment: "false"
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Commit and pull request to merge the branch to the master:
|
||||||
|
```
|
||||||
|
git add <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
|
@ -0,0 +1,82 @@
|
||||||
|
{
|
||||||
|
"anomalyDetection": {
|
||||||
|
"loadingTimeThresholds": {
|
||||||
|
"enabled": false,
|
||||||
|
"thresholds": [
|
||||||
|
{
|
||||||
|
"type": "TOTAL",
|
||||||
|
"valueMs": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"outageHandling": {
|
||||||
|
"globalOutage": true,
|
||||||
|
"localOutage": false,
|
||||||
|
"localOutagePolicy": {
|
||||||
|
"affectedLocations": 1,
|
||||||
|
"consecutiveRuns": 3
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"automaticallyAssignedApps": [],
|
||||||
|
"enabled": true,
|
||||||
|
"frequencyMin": 1,
|
||||||
|
"locations": [
|
||||||
|
"{{.location}}"
|
||||||
|
],
|
||||||
|
"managementZones": [
|
||||||
|
{
|
||||||
|
"id": "{{.mzId}}",
|
||||||
|
"name": "{{.mzName}}"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"manuallyAssignedApps": [],
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"requests": [
|
||||||
|
{
|
||||||
|
"entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A",
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"sequenceNumber": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"script": {
|
||||||
|
"requests": [
|
||||||
|
{
|
||||||
|
"configuration": {
|
||||||
|
"acceptAnyCertificate": true,
|
||||||
|
"followRedirects": true,
|
||||||
|
"requestHeaders": [
|
||||||
|
{
|
||||||
|
"name": "accept",
|
||||||
|
"value": "application/json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Content-Type",
|
||||||
|
"value": "application/json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "api_key",
|
||||||
|
"value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"description": "{{.name}}",
|
||||||
|
"method": "GET",
|
||||||
|
"url": "{{.endpoint}}",
|
||||||
|
"validation": {
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"passIfFound": true,
|
||||||
|
"type": "httpStatusesList",
|
||||||
|
"value": "200"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"rulesChaining": "or"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"version": "1.0"
|
||||||
|
},
|
||||||
|
"tags": [],
|
||||||
|
"type": "HTTP"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
config:
|
||||||
|
- am-cesim: default.json
|
||||||
|
|
||||||
|
am-cesim:
|
||||||
|
- name: CD_am-cesim - <synthetic-name>
|
||||||
|
- mzName: CD_am-cesim/management-zone/CDam-cesim.name
|
||||||
|
- mzId: CD_am-cesim/management-zone/CDam-cesim.id
|
||||||
|
- endpoint: <url>
|
||||||
|
- location: <location>
|
||||||
|
- skipDeployment: "true"
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
config:
|
||||||
|
- CDam-cns-PROD: default.json
|
||||||
|
- CDam-cns-INT: default.json
|
||||||
|
|
||||||
|
#Prod alerting profiles for EMEA/NA/CN
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDam-cns-PROD:
|
||||||
|
- name: CD_am-cns PROD
|
||||||
|
- tag: am-cns
|
||||||
|
- mzId: CD_am-cns/management-zone/CDam-cns.id
|
||||||
|
- env: PROD
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDam-cns-PROD.EMEA-Prod:
|
||||||
|
- name: CD_am-cns PROD
|
||||||
|
- tag: am-cns
|
||||||
|
- mzId: CD_am-cns/management-zone/CDam-cns.id
|
||||||
|
- env: PROD
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-cns-PROD.NA-Prod:
|
||||||
|
- name: CD_am-cns PROD
|
||||||
|
- tag: am-cns
|
||||||
|
- mzId: CD_am-cns/management-zone/CDam-cns.id
|
||||||
|
- env: PROD
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-cns-PROD.CN-Prod:
|
||||||
|
- name: CD_am-cns PROD
|
||||||
|
- tag: am-cns
|
||||||
|
- mzId: CD_am-cns/management-zone/CDam-cns.id
|
||||||
|
- env: PROD
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
||||||
|
|
||||||
|
#INT alerting profiles for EMEA/NA/CN
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDam-cns-INT:
|
||||||
|
- name: CD_am-cns INT
|
||||||
|
- tag: am-cns
|
||||||
|
- mzId: CD_am-cns/management-zone/CDam-cns.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDam-cns-INT.EMEA-PreProd:
|
||||||
|
- name: CD_am-cns INT
|
||||||
|
- tag: am-cns
|
||||||
|
- mzId: CD_am-cns/management-zone/CDam-cns.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-cns-INT.NA-PreProd:
|
||||||
|
- name: CD_am-cns INT
|
||||||
|
- tag: am-cns
|
||||||
|
- mzId: CD_am-cns/management-zone/CDam-cns.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-cns-INT.CN-PreProd:
|
||||||
|
- name: CD_am-cns INT
|
||||||
|
- tag: am-cns
|
||||||
|
- mzId: CD_am-cns/management-zone/CDam-cns.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
@ -0,0 +1,103 @@
|
||||||
|
{
|
||||||
|
"displayName": "{{.name}}",
|
||||||
|
"eventTypeFilters": [],
|
||||||
|
"managementZoneId": "{{.mzId}}",
|
||||||
|
"mzId": "{{.mzId}}",
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"delayInMinutes": 0,
|
||||||
|
"severityLevel": "AVAILABILITY",
|
||||||
|
"tagFilter": {
|
||||||
|
"includeMode": "INCLUDE_ALL",
|
||||||
|
"tagFilters": [
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Component",
|
||||||
|
"value": "{{.tag}}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Environment",
|
||||||
|
"value": "{{.env}}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"delayInMinutes": 10,
|
||||||
|
"severityLevel": "ERROR",
|
||||||
|
"tagFilter": {
|
||||||
|
"includeMode": "INCLUDE_ALL",
|
||||||
|
"tagFilters": [
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Component",
|
||||||
|
"value": "{{.tag}}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Environment",
|
||||||
|
"value": "{{.env}}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"delayInMinutes": 30,
|
||||||
|
"severityLevel": "PERFORMANCE",
|
||||||
|
"tagFilter": {
|
||||||
|
"includeMode": "INCLUDE_ALL",
|
||||||
|
"tagFilters": [
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Component",
|
||||||
|
"value": "{{.tag}}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Environment",
|
||||||
|
"value": "{{.env}}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"delayInMinutes": 30,
|
||||||
|
"severityLevel": "RESOURCE_CONTENTION",
|
||||||
|
"tagFilter": {
|
||||||
|
"includeMode": "INCLUDE_ALL",
|
||||||
|
"tagFilters": [
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Component",
|
||||||
|
"value": "{{.tag}}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Environment",
|
||||||
|
"value": "{{.env}}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"delayInMinutes": 10,
|
||||||
|
"severityLevel": "CUSTOM_ALERT",
|
||||||
|
"tagFilter": {
|
||||||
|
"includeMode": "INCLUDE_ALL",
|
||||||
|
"tagFilters": [
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Component",
|
||||||
|
"value": "{{.tag}}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Environment",
|
||||||
|
"value": "{{.env}}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
## Custom metrics - Multidimensional Analysis
|
||||||
|
|
||||||
|
Under the Multidimensional Analysis you're able to save a view but not to create a metric. Instead, you can do it in here:
|
||||||
|
|
||||||
|
1. Create the metric within the Dynatrace UI using the Mutidimensional Analysis view.
|
||||||
|
2. Save the view and create a ticket for the OPAPM team [here](link). Please provide the following information:
|
||||||
|
- View created in the Dynatrace UI
|
||||||
|
- Your Dynatrace configuration folder (i.e. CD_<app_name>)
|
||||||
|
|
||||||
|
The OPAPM team will proceed creating the metric and updating your configuration in monaco.
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
|
||||||
|
## What is a custom service in Dynatrace?
|
||||||
|
- *If your application's 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 create a custom service?
|
||||||
|
1. Open the file *custom-service-java.yaml* under your *CD_<app_name>/custom-service-java* configuration folder.
|
||||||
|
2. Use customService1 as a template. Copy and paste it below, changing the skipDeployment to "false".
|
||||||
|
3. Fill up all the remaining inputs with the details of the endpoint you're interested to monitor. (className, methodName, etc...)
|
||||||
|
4. Commit and pull request to merge the branch to the master:
|
||||||
|
`git add <changes>`
|
||||||
|
`git commit -m "<app_name> configuration changes"`
|
||||||
|
`git push -u origin <branch>`
|
||||||
|
5. Restart the application where the custom service has been created.
|
||||||
|
6. Check if the custom service appears in Dynatrace.
|
||||||
|
|
||||||
|
Notes:
|
||||||
|
- As this configuration needs a restart, it's better to create it in a non-Prod application.
|
||||||
|
- The custom service will appear in Dynatrace iff there's traffic going through.
|
||||||
|
|
||||||
|
## What if i have multiple classes?
|
||||||
|
1. Clone *template-1-1.json* to a new one called *template-2-1.json*.
|
||||||
|
2. Edit *template-2-1.json* adding a 2nd rule separated with a coma.
|
||||||
|
3. For the 2nd rule, change the name of the {{.values}} to {{.values2}} i.e.
|
||||||
|
4. The template is ready to be used in the YAML file.
|
||||||
|
|
||||||
|
## What if i have multiple methods?
|
||||||
|
1. Same process as before, just call it template-1-2.json
|
||||||
|
2. In this way you can extend to a custom service with n classes and k methods: template-n-k.json
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
config:
|
||||||
|
- customService1: template-1-1.json
|
||||||
|
|
||||||
|
customService1:
|
||||||
|
- name: myJOYNRService
|
||||||
|
- className: com.bmw.cc.conn.this.is.just.an.exampleClasss
|
||||||
|
- methodName: exampleJoynrMethod
|
||||||
|
- returnType: void
|
||||||
|
- skipDeployment: "true"
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
{
|
||||||
|
"enabled": true,
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"processGroups": [],
|
||||||
|
"queueEntryPoint": false,
|
||||||
|
"queueEntryPointType": null,
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"annotations": [],
|
||||||
|
"className": "{{.className}}",
|
||||||
|
"enabled": true,
|
||||||
|
"fileName": "",
|
||||||
|
"matcher": "EQUALS",
|
||||||
|
"methodRules": [
|
||||||
|
{
|
||||||
|
"argumentTypes": [],
|
||||||
|
"methodName": "{{.methodName}}",
|
||||||
|
"returnType": "{{.returnType}}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
## Update dashboard configuration
|
||||||
|
|
||||||
|
- Configuration changes (like in dashboards, alerting profiles) must be done via a pull request. Changing a dashboard just in the environment, will cause that it will be overwritten by Monaco.
|
||||||
|
- How to generate changes in your dashboards?
|
||||||
|
1. Modify the dashboard within the Dynatrace UI with the intended changes.
|
||||||
|
2. Copy the JSON of the dashboards. (Can be found under the dashboard settings)
|
||||||
|
3. Paste the copied JSON under the Monaco JSON, overwrite it.
|
||||||
|
4. Commit and pull request to merge the branch to the master:
|
||||||
|
```
|
||||||
|
git add <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
config:
|
||||||
|
- CDam-cns-PROD-E2E: defaultPRODE2E.json
|
||||||
|
- CDam-cns-INT-TEST: defaultINTTEST.json
|
||||||
|
|
||||||
|
#PROD-E2E dashboards for EMEA/NA/CN Prod
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDam-cns-PROD-E2E:
|
||||||
|
- name: CD_am-cns PROD-E2E
|
||||||
|
- mzName: CD_am-cns/management-zone/CDam-cns.name
|
||||||
|
- mzId: CD_am-cns/management-zone/CDam-cns.id
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDam-cns-PROD-E2E.EMEA-Prod:
|
||||||
|
- name: CD_am-cns PROD-E2E
|
||||||
|
- mzName: CD_am-cns/management-zone/CDam-cns.name
|
||||||
|
- mzId: CD_am-cns/management-zone/CDam-cns.id
|
||||||
|
- tag: am-cns
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-cns-PROD-E2E.NA-Prod:
|
||||||
|
- name: CD_am-cns PROD-E2E
|
||||||
|
- mzName: CD_am-cns/management-zone/CDam-cns.name
|
||||||
|
- mzId: CD_am-cns/management-zone/CDam-cns.id
|
||||||
|
- tag: am-cns
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-cns-PROD-E2E.CN-Prod:
|
||||||
|
- name: CD_am-cns PROD-E2E
|
||||||
|
- mzName: CD_am-cns/management-zone/CDam-cns.name
|
||||||
|
- mzId: CD_am-cns/management-zone/CDam-cns.id
|
||||||
|
- tag: am-cns
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
||||||
|
|
||||||
|
#INT-TEST dashboards for EMEA/NA/CN PreProd
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDam-cns-INT-TEST:
|
||||||
|
- name: CD_am-cns INT-TEST
|
||||||
|
- mzName: CD_am-cns/management-zone/CDam-cns.name
|
||||||
|
- mzId: CD_am-cns/management-zone/CDam-cns.id
|
||||||
|
- tag: am-cns
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDam-cns-INT-TEST.EMEA-PreProd:
|
||||||
|
- name: CD_am-cns INT-TEST
|
||||||
|
- mzName: CD_am-cns/management-zone/CDam-cns.name
|
||||||
|
- mzId: CD_am-cns/management-zone/CDam-cns.id
|
||||||
|
- tag: am-cns
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-cns-INT-TEST.NA-PreProd:
|
||||||
|
- name: CD_am-cns INT-TEST
|
||||||
|
- mzName: CD_am-cns/management-zone/CDam-cns.name
|
||||||
|
- mzId: CD_am-cns/management-zone/CDam-cns.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-cns-INT-TEST.CN-PreProd:
|
||||||
|
- name: CD_am-cns INT-TEST
|
||||||
|
- mzName: CD_am-cns/management-zone/CDam-cns.name
|
||||||
|
- mzId: CD_am-cns/management-zone/CDam-cns.id
|
||||||
|
- env: INT
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
@ -0,0 +1,586 @@
|
||||||
|
{
|
||||||
|
"metadata": {
|
||||||
|
"configurationVersions": [
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"clusterVersion": "1.213.116.20210318-174118"
|
||||||
|
},
|
||||||
|
"dashboardMetadata": {
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"shared": false,
|
||||||
|
"owner": "Ignacio.Goldman@partner.bmwgroup.com",
|
||||||
|
"dashboardFilter": {
|
||||||
|
"managementZone": {
|
||||||
|
"id": "{{.mzId}}",
|
||||||
|
"name": "{{.mzName}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tags": [
|
||||||
|
"{{.mzName}}"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"tiles": [
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 380,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 266
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Failure rate (HTTP 4xx/5xx errors)",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fourxx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fivexx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595276148986,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Problems",
|
||||||
|
"tileType": "OPEN_PROBLEMS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 114,
|
||||||
|
"left": 1596,
|
||||||
|
"width": 152,
|
||||||
|
"height": 152
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "SERVICES",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 1064,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "SERVICE",
|
||||||
|
"customName": "Services",
|
||||||
|
"defaultName": "Services",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Overall Health - INT",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 38,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Markdown",
|
||||||
|
"tileType": "MARKDOWN",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 684,
|
||||||
|
"left": 38,
|
||||||
|
"width": 1520,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"markdown": "---\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Service1 - TEST",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 722,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 760,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 304
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Response time, Throughput and Number of Errors",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.response.time",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "LINE",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.requestCount.total",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.total.count",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275720776,
|
||||||
|
"customColor": "#008cdb"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275955999,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": {
|
||||||
|
"lastModified": 1595275686773,
|
||||||
|
"customColor": "#b4e5f9"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Service1 - INT",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 722,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 760,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 304
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Response time, Throughput and Number of Errors",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.response.time",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "LINE",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.requestCount.total",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.total.count",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275720776,
|
||||||
|
"customColor": "#008cdb"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275955999,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": {
|
||||||
|
"lastModified": 1595275686773,
|
||||||
|
"customColor": "#b4e5f9"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 380,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 266
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Failure rate (HTTP 4xx/5xx errors)",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fourxx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fivexx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595276148986,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Markdown",
|
||||||
|
"tileType": "MARKDOWN",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 304,
|
||||||
|
"left": 38,
|
||||||
|
"width": 1520,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"markdown": "---\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Failure rate - TEST (HTTP 4xx/5xx errors)",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 342,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Failure rate - INT (HTTP 4xx/5xx errors)",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 342,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "DATABASES_OVERVIEW",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 570,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "DATABASE",
|
||||||
|
"customName": "Databases",
|
||||||
|
"defaultName": "Databases",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"DATABASE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Overall Health - TEST",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 38,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "DATABASES_OVERVIEW",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 1330,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "DATABASE",
|
||||||
|
"customName": "Databases",
|
||||||
|
"defaultName": "Databases",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"DATABASE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "SERVICES",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 304,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "SERVICE",
|
||||||
|
"customName": "Services",
|
||||||
|
"defaultName": "Services",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "HOSTS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 798,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "HOST",
|
||||||
|
"customName": "Hosts",
|
||||||
|
"defaultName": "Hosts",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"HOST": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:TEST",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "HOSTS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 38,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "HOST",
|
||||||
|
"customName": "Hosts",
|
||||||
|
"defaultName": "Hosts",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"HOST": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:INT"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,586 @@
|
||||||
|
{
|
||||||
|
"metadata": {
|
||||||
|
"configurationVersions": [
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"clusterVersion": "1.213.116.20210318-174118"
|
||||||
|
},
|
||||||
|
"dashboardMetadata": {
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"shared": false,
|
||||||
|
"owner": "Ignacio.Goldman@partner.bmwgroup.com",
|
||||||
|
"dashboardFilter": {
|
||||||
|
"managementZone": {
|
||||||
|
"id": "{{.mzId}}",
|
||||||
|
"name": "{{.mzName}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tags": [
|
||||||
|
"{{.mzName}}"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"tiles": [
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 380,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 266
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Failure rate (HTTP 4xx/5xx errors)",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fourxx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fivexx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595276148986,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:PROD"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Problems",
|
||||||
|
"tileType": "OPEN_PROBLEMS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 114,
|
||||||
|
"left": 1596,
|
||||||
|
"width": 152,
|
||||||
|
"height": 152
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "SERVICES",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 1064,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "SERVICE",
|
||||||
|
"customName": "Services",
|
||||||
|
"defaultName": "Services",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:E2E",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Overall Health - PROD",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 38,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Markdown",
|
||||||
|
"tileType": "MARKDOWN",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 684,
|
||||||
|
"left": 38,
|
||||||
|
"width": 1520,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"markdown": "---\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Service1 - E2E",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 722,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 760,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 304
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Response time, Throughput and Number of Errors",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.response.time",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "LINE",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.requestCount.total",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.total.count",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275720776,
|
||||||
|
"customColor": "#008cdb"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275955999,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": {
|
||||||
|
"lastModified": 1595275686773,
|
||||||
|
"customColor": "#b4e5f9"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:E2E"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Service1 - PROD",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 722,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 760,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 304
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Response time, Throughput and Number of Errors",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.response.time",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "LINE",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.requestCount.total",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.total.count",
|
||||||
|
"aggregation": "NONE",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275720776,
|
||||||
|
"customColor": "#008cdb"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595275955999,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
},
|
||||||
|
"nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE": {
|
||||||
|
"lastModified": 1595275686773,
|
||||||
|
"customColor": "#b4e5f9"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:PROD"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Custom chart",
|
||||||
|
"tileType": "CUSTOM_CHARTING",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 380,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 266
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "MIXED",
|
||||||
|
"customName": "Failure rate (HTTP 4xx/5xx errors)",
|
||||||
|
"defaultName": "Custom chart",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fourxx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": false,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"metric": "builtin:service.errors.fivexx.rate",
|
||||||
|
"aggregation": "AVG",
|
||||||
|
"type": "BAR",
|
||||||
|
"entityType": "SERVICE",
|
||||||
|
"dimensions": [],
|
||||||
|
"sortAscending": false,
|
||||||
|
"sortColumn": true,
|
||||||
|
"aggregationRate": "TOTAL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"resultMetadata": {
|
||||||
|
"nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE": {
|
||||||
|
"lastModified": 1595276148986,
|
||||||
|
"customColor": "#ef651f"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:E2E"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Markdown",
|
||||||
|
"tileType": "MARKDOWN",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 304,
|
||||||
|
"left": 38,
|
||||||
|
"width": 1520,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"markdown": "---\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Failure rate - E2E (HTTP 4xx/5xx errors)",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 342,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Failure rate - PROD (HTTP 4xx/5xx errors)",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 342,
|
||||||
|
"left": 38,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "DATABASES_OVERVIEW",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 570,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "DATABASE",
|
||||||
|
"customName": "Databases",
|
||||||
|
"defaultName": "Databases",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"DATABASE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:PROD"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Overall Health - E2E",
|
||||||
|
"tileType": "HEADER",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 38,
|
||||||
|
"left": 798,
|
||||||
|
"width": 760,
|
||||||
|
"height": 38
|
||||||
|
},
|
||||||
|
"tileFilter": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "DATABASES_OVERVIEW",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 1330,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "DATABASE",
|
||||||
|
"customName": "Databases",
|
||||||
|
"defaultName": "Databases",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"DATABASE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:E2E",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "SERVICES",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 304,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "SERVICE",
|
||||||
|
"customName": "Services",
|
||||||
|
"defaultName": "Services",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"SERVICE": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:PROD"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "HOSTS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 798,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "HOST",
|
||||||
|
"customName": "Hosts",
|
||||||
|
"defaultName": "Hosts",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"HOST": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Environment:E2E",
|
||||||
|
"Component:{{.tag}}"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"tileType": "HOSTS",
|
||||||
|
"configured": true,
|
||||||
|
"bounds": {
|
||||||
|
"top": 76,
|
||||||
|
"left": 38,
|
||||||
|
"width": 228,
|
||||||
|
"height": 190
|
||||||
|
},
|
||||||
|
"tileFilter": {},
|
||||||
|
"filterConfig": {
|
||||||
|
"type": "HOST",
|
||||||
|
"customName": "Hosts",
|
||||||
|
"defaultName": "Hosts",
|
||||||
|
"chartConfig": {
|
||||||
|
"legendShown": true,
|
||||||
|
"type": "TIMESERIES",
|
||||||
|
"series": [],
|
||||||
|
"resultMetadata": {}
|
||||||
|
},
|
||||||
|
"filtersPerEntityType": {
|
||||||
|
"HOST": {
|
||||||
|
"AUTO_TAGS": [
|
||||||
|
"Component:{{.tag}}",
|
||||||
|
"Environment:PROD"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chartVisible": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,76 @@
|
||||||
|
## Management Zones configuration
|
||||||
|
|
||||||
|
### Excluding noisy services
|
||||||
|
|
||||||
|
*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_<app_name>/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 <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
Note: you can use the same logic to exclude (or include) any other entity to your Management Zone.
|
||||||
|
|
@ -0,0 +1,76 @@
|
||||||
|
{
|
||||||
|
"dimensionalRules": [],
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"comparisonInfo": {
|
||||||
|
"negate": false,
|
||||||
|
"operator": "EQUALS",
|
||||||
|
"type": "TAG",
|
||||||
|
"value": {
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Component",
|
||||||
|
"value": "{{.tag}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"attribute": "SERVICE_TAGS"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"propagationTypes": [
|
||||||
|
"SERVICE_TO_PROCESS_GROUP_LIKE",
|
||||||
|
"SERVICE_TO_HOST_LIKE"
|
||||||
|
],
|
||||||
|
"type": "SERVICE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"comparisonInfo": {
|
||||||
|
"negate": false,
|
||||||
|
"operator": "EQUALS",
|
||||||
|
"type": "TAG",
|
||||||
|
"value": {
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Component",
|
||||||
|
"value": "{{.tag}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"attribute": "PROCESS_GROUP_TAGS"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"propagationTypes": [
|
||||||
|
"PROCESS_GROUP_TO_HOST"
|
||||||
|
],
|
||||||
|
"type": "PROCESS_GROUP"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"comparisonInfo": {
|
||||||
|
"negate": false,
|
||||||
|
"operator": "EQUALS",
|
||||||
|
"type": "TAG",
|
||||||
|
"value": {
|
||||||
|
"context": "CONTEXTLESS",
|
||||||
|
"key": "Component",
|
||||||
|
"value": "{{.tag}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"attribute": "HOST_TAGS"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"enabled": true,
|
||||||
|
"type": "HOST"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
config:
|
||||||
|
- CDam-cns: default.json
|
||||||
|
|
||||||
|
CDam-cns:
|
||||||
|
- name: CD_am-cns
|
||||||
|
- tag: am-cns
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
|
||||||
|
## Configure Notification System
|
||||||
|
|
||||||
|
### MS Teams - Default
|
||||||
|
|
||||||
|
*Let's suppose you would like to start receiving alerts from Dynatrace via MS Teams just for your *EMEA PROD*.*
|
||||||
|
|
||||||
|
1. Open *notification.yaml* under your application configuration folder. By default, all notification systems are configured via MS Teams with an
|
||||||
|
https://empty webhook (not configured).
|
||||||
|
2. Create an incoming webhook in MS Teams. [How to?](https://www.dynatrace.com/support/help/shortlink/set-up-msteams-integration#configuration-in-microsoft-teams)
|
||||||
|
3. Add the incoming webhook under the webhook parameter for the `<app_name>-PROD.EMEA-Prod`:
|
||||||
|
```
|
||||||
|
<app_name>-PROD.EMEA-Prod:
|
||||||
|
- name: CD_<app_name> PROD
|
||||||
|
- alertingProfile: CD_<app_name>/alerting-profile/CD<app_name>-PROD.id
|
||||||
|
- webhook: <Add webhook here>
|
||||||
|
- skipDeployment: "false"
|
||||||
|
```
|
||||||
|
4. Save and commit changes:
|
||||||
|
```
|
||||||
|
git add <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
Note: If you want to enable MS Teams for any other hub/stage, follow the same steps but make sure you're under the right configuration:
|
||||||
|
`<app_name>-<stage>.<dynatrace-env>-<stage>:`
|
||||||
|
|
||||||
|
### Email
|
||||||
|
|
||||||
|
*The team prefers to be alerted via email, not MS Teams*
|
||||||
|
|
||||||
|
1. Keep the MS Teams integration disabled, with the https://empty webhook:
|
||||||
|
```
|
||||||
|
<app_name>-PROD.EMEA-Prod:
|
||||||
|
- name: CD_<app_name> PROD
|
||||||
|
- alertingProfile: CD_<app_name>/alerting-profile/CD<app_name>-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
```
|
||||||
|
2. Create a new configuration template under config, using the email template:
|
||||||
|
```
|
||||||
|
config:
|
||||||
|
- CD<app_name>email: email.json
|
||||||
|
```
|
||||||
|
3. Describe the configuration below, using the following template:
|
||||||
|
```
|
||||||
|
CD<app_name>email.EMEA-Prod:
|
||||||
|
- name: CD_<app_name> PROD
|
||||||
|
- alertingProfile: CD_<app_name>/alerting-profile/CD<app_name>-PROD.id
|
||||||
|
- receivers: distributionEmailexample@bmw.de`
|
||||||
|
```
|
||||||
|
4. Save and commit changes:
|
||||||
|
```
|
||||||
|
git add <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
|
||||||
|
### ITSM
|
||||||
|
Coming soon!
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"active": true,
|
||||||
|
"alertingProfile": "{{.alertingProfile}}",
|
||||||
|
"bccReceivers": [],
|
||||||
|
"body": "{ProblemDetailsHTML}",
|
||||||
|
"ccReceivers": [],
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"receivers": [
|
||||||
|
"{{.receivers}}"
|
||||||
|
],
|
||||||
|
"subject": "{State} Problem {ProblemID}: {ImpactedEntity}",
|
||||||
|
"type": "EMAIL"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"acceptAnyCertificate": false,
|
||||||
|
"active": true,
|
||||||
|
"alertingProfile": "{{.alertingProfile}}",
|
||||||
|
"headers": [],
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"notifyEventMergesEnabled": false,
|
||||||
|
"payload": "{\n\"title\":\"{ProblemTitle}\",\n\"text\":\"{ProblemDetailsHTML}\",\n\"themeColor\":\"EA4300\"\n}",
|
||||||
|
"type": "WEBHOOK",
|
||||||
|
"url": "{{.webhook}}"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
config:
|
||||||
|
- CDam-cns-PROD: msTeams.json
|
||||||
|
- CDam-cns-INT: msTeams.json
|
||||||
|
|
||||||
|
#Prod notification system for EMEA/NA/CN
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDam-cns-PROD:
|
||||||
|
- name: CD_am-cns PROD
|
||||||
|
- alertingProfile: CD_am-cns/alerting-profile/CDam-cns-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDam-cns-PROD.EMEA-Prod:
|
||||||
|
- name: CD_am-cns PROD
|
||||||
|
- alertingProfile: CD_am-cns/alerting-profile/CDam-cns-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-cns-PROD.NA-Prod:
|
||||||
|
- name: CD_am-cns PROD
|
||||||
|
- alertingProfile: CD_am-cns/alerting-profile/CDam-cns-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-cns-PROD.CN-Prod:
|
||||||
|
- name: CD_am-cns PROD
|
||||||
|
- alertingProfile: CD_am-cns/alerting-profile/CDam-cns-PROD.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
||||||
|
#INT notification system for EMEA/NA/CN
|
||||||
|
#Dry-run needed for all hubs
|
||||||
|
CDam-cns-INT:
|
||||||
|
- name: CD_am-cns INT
|
||||||
|
- alertingProfile: CD_am-cns/alerting-profile/CDam-cns-INT.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "true"
|
||||||
|
#Configuration
|
||||||
|
CDam-cns-INT.EMEA-PreProd:
|
||||||
|
- name: CD_am-cns INT
|
||||||
|
- alertingProfile: CD_am-cns/alerting-profile/CDam-cns-INT.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-cns-INT.NA-PreProd:
|
||||||
|
- name: CD_am-cns INT
|
||||||
|
- alertingProfile: CD_am-cns/alerting-profile/CDam-cns-INT.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
CDam-cns-INT.CN-PreProd:
|
||||||
|
- name: CD_am-cns INT
|
||||||
|
- alertingProfile: CD_am-cns/alerting-profile/CDam-cns-INT.id
|
||||||
|
- webhook: https://empty
|
||||||
|
- skipDeployment: "false"
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
# Synthetic Configuration
|
||||||
|
|
||||||
|
To calculate the Availability KPI, a synthetic must be configured.
|
||||||
|
|
||||||
|
1. Modify the synthetic-monitor.yaml file, providing:
|
||||||
|
- **Endpoint**: url intended to check the availability.
|
||||||
|
- **Location**:
|
||||||
|
- *synthetic private location*: If the endpoint is reachable within the BMW network.
|
||||||
|
```
|
||||||
|
- location: BMW-Dynatrace-config/00_Global-Config/synthetic-location/BMW-AWS-Frankfurt.id
|
||||||
|
```
|
||||||
|
- *synthetic public location*: If the endpoint is reachable from the internet.
|
||||||
|
```
|
||||||
|
- location: GEOLOCATION-45AB48D9D6925ECC
|
||||||
|
```
|
||||||
|
2. Change `skipDeployment` to false.
|
||||||
|
|
||||||
|
i.e.
|
||||||
|
```
|
||||||
|
config:
|
||||||
|
- my-synthetic: default.json
|
||||||
|
|
||||||
|
my-synthetic:
|
||||||
|
- name: CD_BMW - bmw.com
|
||||||
|
- mzName: CD_google/management-zone/CDgoogle.name
|
||||||
|
- mzId: CD_google/management-zone/CDgoogle.id
|
||||||
|
- endpoint: https://google.com
|
||||||
|
- location: GEOLOCATION-45AB48D9D6925ECC
|
||||||
|
- skipDeployment: "false"
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Commit and pull request to merge the branch to the master:
|
||||||
|
```
|
||||||
|
git add <changes>
|
||||||
|
git commit -m "<app_name> configuration changes"
|
||||||
|
git push -u origin <branch>
|
||||||
|
```
|
||||||
|
|
@ -0,0 +1,82 @@
|
||||||
|
{
|
||||||
|
"anomalyDetection": {
|
||||||
|
"loadingTimeThresholds": {
|
||||||
|
"enabled": false,
|
||||||
|
"thresholds": [
|
||||||
|
{
|
||||||
|
"type": "TOTAL",
|
||||||
|
"valueMs": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"outageHandling": {
|
||||||
|
"globalOutage": true,
|
||||||
|
"localOutage": false,
|
||||||
|
"localOutagePolicy": {
|
||||||
|
"affectedLocations": 1,
|
||||||
|
"consecutiveRuns": 3
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"automaticallyAssignedApps": [],
|
||||||
|
"enabled": true,
|
||||||
|
"frequencyMin": 1,
|
||||||
|
"locations": [
|
||||||
|
"{{.location}}"
|
||||||
|
],
|
||||||
|
"managementZones": [
|
||||||
|
{
|
||||||
|
"id": "{{.mzId}}",
|
||||||
|
"name": "{{.mzName}}"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"manuallyAssignedApps": [],
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"requests": [
|
||||||
|
{
|
||||||
|
"entityId": "HTTP_CHECK_STEP-0BA53EC80CD7EE5A",
|
||||||
|
"name": "{{.name}}",
|
||||||
|
"sequenceNumber": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"script": {
|
||||||
|
"requests": [
|
||||||
|
{
|
||||||
|
"configuration": {
|
||||||
|
"acceptAnyCertificate": true,
|
||||||
|
"followRedirects": true,
|
||||||
|
"requestHeaders": [
|
||||||
|
{
|
||||||
|
"name": "accept",
|
||||||
|
"value": "application/json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Content-Type",
|
||||||
|
"value": "application/json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "api_key",
|
||||||
|
"value": "355DE89C-7B72-4EA3-BDD8-157C79EB2C23"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"description": "{{.name}}",
|
||||||
|
"method": "GET",
|
||||||
|
"url": "{{.endpoint}}",
|
||||||
|
"validation": {
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"passIfFound": true,
|
||||||
|
"type": "httpStatusesList",
|
||||||
|
"value": "200"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"rulesChaining": "or"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"version": "1.0"
|
||||||
|
},
|
||||||
|
"tags": [],
|
||||||
|
"type": "HTTP"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
config:
|
||||||
|
- am-cns: default.json
|
||||||
|
|
||||||
|
am-cns:
|
||||||
|
- name: CD_am-cns - <synthetic-name>
|
||||||
|
- mzName: CD_am-cns/management-zone/CDam-cns.name
|
||||||
|
- mzId: CD_am-cns/management-zone/CDam-cns.id
|
||||||
|
- endpoint: <url>
|
||||||
|
- location: <location>
|
||||||
|
- skipDeployment: "true"
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue