runtime/openshift onboardings
parent
e648a9987c
commit
aa343f1285
|
|
@ -1,6 +1,88 @@
|
|||
CDagent-service:
|
||||
- name: CD_agent-service/management-zone/CDagent-service.name
|
||||
config:
|
||||
- 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
|
||||
- mzId: CD_agent-service/management-zone/CDagent-service.id
|
||||
config:
|
||||
- CDagent-service: agent-service.json
|
||||
- env: PROD
|
||||
- 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,
|
||||
"severityLevel": "AVAILABILITY",
|
||||
"tagFilter": {
|
||||
"includeMode": "INCLUDE_ANY",
|
||||
"includeMode": "INCLUDE_ALL",
|
||||
"tagFilters": [
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Component",
|
||||
"value": "{{.tag}}"
|
||||
},
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Environment",
|
||||
"value": "{{.env}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -22,12 +27,17 @@
|
|||
"delayInMinutes": 10,
|
||||
"severityLevel": "ERROR",
|
||||
"tagFilter": {
|
||||
"includeMode": "INCLUDE_ANY",
|
||||
"includeMode": "INCLUDE_ALL",
|
||||
"tagFilters": [
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Component",
|
||||
"value": "{{.tag}}"
|
||||
},
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Environment",
|
||||
"value": "{{.env}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -36,12 +46,17 @@
|
|||
"delayInMinutes": 30,
|
||||
"severityLevel": "PERFORMANCE",
|
||||
"tagFilter": {
|
||||
"includeMode": "INCLUDE_ANY",
|
||||
"includeMode": "INCLUDE_ALL",
|
||||
"tagFilters": [
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Component",
|
||||
"value": "{{.tag}}"
|
||||
},
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Environment",
|
||||
"value": "{{.env}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -50,12 +65,17 @@
|
|||
"delayInMinutes": 30,
|
||||
"severityLevel": "RESOURCE_CONTENTION",
|
||||
"tagFilter": {
|
||||
"includeMode": "INCLUDE_ANY",
|
||||
"includeMode": "INCLUDE_ALL",
|
||||
"tagFilters": [
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Component",
|
||||
"value": "{{.tag}}"
|
||||
},
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Environment",
|
||||
"value": "{{.env}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -64,26 +84,17 @@
|
|||
"delayInMinutes": 10,
|
||||
"severityLevel": "CUSTOM_ALERT",
|
||||
"tagFilter": {
|
||||
"includeMode": "INCLUDE_ANY",
|
||||
"includeMode": "INCLUDE_ALL",
|
||||
"tagFilters": [
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Component",
|
||||
"value": "{{.tag}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"delayInMinutes": 0,
|
||||
"severityLevel": "MONITORING_UNAVAILABLE",
|
||||
"tagFilter": {
|
||||
"includeMode": "INCLUDE_ANY",
|
||||
"tagFilters": [
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Component",
|
||||
"value": "{{.tag}}"
|
||||
"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:
|
||||
- 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": {
|
||||
"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,
|
||||
|
|
@ -86,6 +50,27 @@
|
|||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -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:
|
||||
- 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,
|
||||
"severityLevel": "AVAILABILITY",
|
||||
"tagFilter": {
|
||||
"includeMode": "INCLUDE_ANY",
|
||||
"includeMode": "INCLUDE_ALL",
|
||||
"tagFilters": [
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Component",
|
||||
"value": "{{.tag}}"
|
||||
},
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Environment",
|
||||
"value": "{{.env}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -22,12 +27,17 @@
|
|||
"delayInMinutes": 10,
|
||||
"severityLevel": "ERROR",
|
||||
"tagFilter": {
|
||||
"includeMode": "INCLUDE_ANY",
|
||||
"includeMode": "INCLUDE_ALL",
|
||||
"tagFilters": [
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Component",
|
||||
"value": "{{.tag}}"
|
||||
},
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Environment",
|
||||
"value": "{{.env}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -36,12 +46,17 @@
|
|||
"delayInMinutes": 30,
|
||||
"severityLevel": "PERFORMANCE",
|
||||
"tagFilter": {
|
||||
"includeMode": "INCLUDE_ANY",
|
||||
"includeMode": "INCLUDE_ALL",
|
||||
"tagFilters": [
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Component",
|
||||
"value": "{{.tag}}"
|
||||
},
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Environment",
|
||||
"value": "{{.env}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -50,12 +65,17 @@
|
|||
"delayInMinutes": 30,
|
||||
"severityLevel": "RESOURCE_CONTENTION",
|
||||
"tagFilter": {
|
||||
"includeMode": "INCLUDE_ANY",
|
||||
"includeMode": "INCLUDE_ALL",
|
||||
"tagFilters": [
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Component",
|
||||
"value": "{{.tag}}"
|
||||
},
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Environment",
|
||||
"value": "{{.env}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -64,26 +84,17 @@
|
|||
"delayInMinutes": 10,
|
||||
"severityLevel": "CUSTOM_ALERT",
|
||||
"tagFilter": {
|
||||
"includeMode": "INCLUDE_ANY",
|
||||
"includeMode": "INCLUDE_ALL",
|
||||
"tagFilters": [
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Component",
|
||||
"value": "{{.tag}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"delayInMinutes": 0,
|
||||
"severityLevel": "MONITORING_UNAVAILABLE",
|
||||
"tagFilter": {
|
||||
"includeMode": "INCLUDE_ANY",
|
||||
"tagFilters": [
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Component",
|
||||
"value": "{{.tag}}"
|
||||
"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:
|
||||
- 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": {
|
||||
"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,
|
||||
|
|
@ -86,6 +50,27 @@
|
|||
"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:
|
||||
- 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,
|
||||
"severityLevel": "AVAILABILITY",
|
||||
"tagFilter": {
|
||||
"includeMode": "INCLUDE_ANY",
|
||||
"includeMode": "INCLUDE_ALL",
|
||||
"tagFilters": [
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Component",
|
||||
"value": "{{.tag}}"
|
||||
},
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Environment",
|
||||
"value": "{{.env}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -22,12 +27,17 @@
|
|||
"delayInMinutes": 10,
|
||||
"severityLevel": "ERROR",
|
||||
"tagFilter": {
|
||||
"includeMode": "INCLUDE_ANY",
|
||||
"includeMode": "INCLUDE_ALL",
|
||||
"tagFilters": [
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Component",
|
||||
"value": "{{.tag}}"
|
||||
},
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Environment",
|
||||
"value": "{{.env}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -36,12 +46,17 @@
|
|||
"delayInMinutes": 30,
|
||||
"severityLevel": "PERFORMANCE",
|
||||
"tagFilter": {
|
||||
"includeMode": "INCLUDE_ANY",
|
||||
"includeMode": "INCLUDE_ALL",
|
||||
"tagFilters": [
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Component",
|
||||
"value": "{{.tag}}"
|
||||
},
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Environment",
|
||||
"value": "{{.env}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -50,12 +65,17 @@
|
|||
"delayInMinutes": 30,
|
||||
"severityLevel": "RESOURCE_CONTENTION",
|
||||
"tagFilter": {
|
||||
"includeMode": "INCLUDE_ANY",
|
||||
"includeMode": "INCLUDE_ALL",
|
||||
"tagFilters": [
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Component",
|
||||
"value": "{{.tag}}"
|
||||
},
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Environment",
|
||||
"value": "{{.env}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -64,26 +84,17 @@
|
|||
"delayInMinutes": 10,
|
||||
"severityLevel": "CUSTOM_ALERT",
|
||||
"tagFilter": {
|
||||
"includeMode": "INCLUDE_ANY",
|
||||
"includeMode": "INCLUDE_ALL",
|
||||
"tagFilters": [
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Component",
|
||||
"value": "{{.tag}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"delayInMinutes": 0,
|
||||
"severityLevel": "MONITORING_UNAVAILABLE",
|
||||
"tagFilter": {
|
||||
"includeMode": "INCLUDE_ANY",
|
||||
"tagFilters": [
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Component",
|
||||
"value": "{{.tag}}"
|
||||
"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-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": {
|
||||
"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,
|
||||
|
|
@ -86,6 +50,27 @@
|
|||
"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-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,
|
||||
"severityLevel": "AVAILABILITY",
|
||||
"tagFilter": {
|
||||
"includeMode": "INCLUDE_ANY",
|
||||
"includeMode": "INCLUDE_ALL",
|
||||
"tagFilters": [
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Component",
|
||||
"value": "{{.tag}}"
|
||||
},
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Environment",
|
||||
"value": "{{.env}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -22,12 +27,17 @@
|
|||
"delayInMinutes": 10,
|
||||
"severityLevel": "ERROR",
|
||||
"tagFilter": {
|
||||
"includeMode": "INCLUDE_ANY",
|
||||
"includeMode": "INCLUDE_ALL",
|
||||
"tagFilters": [
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Component",
|
||||
"value": "{{.tag}}"
|
||||
},
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Environment",
|
||||
"value": "{{.env}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -36,12 +46,17 @@
|
|||
"delayInMinutes": 30,
|
||||
"severityLevel": "PERFORMANCE",
|
||||
"tagFilter": {
|
||||
"includeMode": "INCLUDE_ANY",
|
||||
"includeMode": "INCLUDE_ALL",
|
||||
"tagFilters": [
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Component",
|
||||
"value": "{{.tag}}"
|
||||
},
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Environment",
|
||||
"value": "{{.env}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -50,12 +65,17 @@
|
|||
"delayInMinutes": 30,
|
||||
"severityLevel": "RESOURCE_CONTENTION",
|
||||
"tagFilter": {
|
||||
"includeMode": "INCLUDE_ANY",
|
||||
"includeMode": "INCLUDE_ALL",
|
||||
"tagFilters": [
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Component",
|
||||
"value": "{{.tag}}"
|
||||
},
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Environment",
|
||||
"value": "{{.env}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -64,26 +84,17 @@
|
|||
"delayInMinutes": 10,
|
||||
"severityLevel": "CUSTOM_ALERT",
|
||||
"tagFilter": {
|
||||
"includeMode": "INCLUDE_ANY",
|
||||
"includeMode": "INCLUDE_ALL",
|
||||
"tagFilters": [
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Component",
|
||||
"value": "{{.tag}}"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"delayInMinutes": 0,
|
||||
"severityLevel": "MONITORING_UNAVAILABLE",
|
||||
"tagFilter": {
|
||||
"includeMode": "INCLUDE_ANY",
|
||||
"tagFilters": [
|
||||
{
|
||||
"context": "CONTEXTLESS",
|
||||
"key": "Component",
|
||||
"value": "{{.tag}}"
|
||||
"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-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": {
|
||||
"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,
|
||||
|
|
@ -86,6 +50,27 @@
|
|||
"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-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