published on Tuesday, Jun 9, 2026 by Pulumiverse
published on Tuesday, Jun 9, 2026 by Pulumiverse
This resource is excluded by default in the export utility since there could be a large amount of dashboards.
This resource requires the API token scopes Read configuration (
ReadConfig) and Write configuration (WriteConfig)
Dynatrace Documentation
Dashboards and reports - https://www.dynatrace.com/support/help/how-to-use-dynatrace/dashboards-and-charts
Dashboards API - https://www.dynatrace.com/support/help/dynatrace-api/configuration-api/dashboards-api
Export Example Usage
terraform-provider-dynatrace -export dynatrace.JsonDashboarddownloads all existing dashboard configuration
The full documentation of the export feature is available here.
Resource Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as dynatrace from "@pulumiverse/dynatrace";
const name = new dynatrace.JsonDashboard("name", {contents: JSON.stringify({
dashboardMetadata: {
name: "Performance overview",
shared: true,
owner: "Dynatrace",
tags: ["performance"],
preset: true,
hasConsistentColors: false,
},
tiles: [
{
name: "Performance",
tileType: "HEADER",
configured: true,
bounds: {
top: 0,
left: 38,
width: 1026,
height: 38,
},
tileFilter: {},
isAutoRefreshDisabled: true,
},
{
name: "Failure rate by service",
tileType: "DATA_EXPLORER",
configured: true,
bounds: {
top: 342,
left: 38,
width: 342,
height: 304,
},
tileFilter: {},
isAutoRefreshDisabled: true,
customName: "Successful calls by service instance",
queries: [{
id: "A",
metric: "builtin:service.errors.total.rate",
spaceAggregation: "AUTO",
timeAggregation: "DEFAULT",
splitBy: ["dt.entity.service"],
sortBy: "DESC",
sortByDimension: "",
filterBy: {
nestedFilters: [],
criteria: [],
},
limit: 20,
rate: "NONE",
enabled: true,
}],
visualConfig: {
type: "TOP_LIST",
global: {
hideLegend: false,
},
rules: [{
matcher: "A:",
properties: {
color: "DEFAULT",
},
seriesOverrides: [],
}],
axes: {
xAxis: {
visible: true,
},
yAxes: [],
},
heatmapSettings: {
yAxis: "VALUE",
},
singleValueSettings: {
showSparkLine: true,
},
thresholds: [{
axisTarget: "LEFT",
rules: [
{
color: "#7dc540",
},
{
color: "#f5d30f",
},
{
color: "#dc172a",
},
],
visible: true,
}],
tableSettings: {
hiddenColumns: [],
},
graphChartSettings: {
connectNulls: false,
},
honeycombSettings: {
showHive: true,
showLegend: true,
showLabels: false,
},
},
queriesSettings: {
resolution: "",
},
metricExpressions: ["resolution=Inf&(builtin:service.errors.total.rate:splitBy(\"dt.entity.service\"):sort(value(auto,descending)):limit(20)):limit(100):names"],
},
{
name: "Total calls",
tileType: "DATA_EXPLORER",
configured: true,
bounds: {
top: 38,
left: 38,
width: 342,
height: 304,
},
tileFilter: {},
isAutoRefreshDisabled: true,
customName: "Total calls",
queries: [
{
id: "A",
metric: "builtin:service.errors.total.successCount",
spaceAggregation: "SUM",
timeAggregation: "DEFAULT",
splitBy: ["dt.entity.service"],
sortBy: "DESC",
sortByDimension: "",
filterBy: {
nestedFilters: [],
criteria: [],
},
limit: 20,
rate: "NONE",
enabled: true,
},
{
id: "B",
metric: "builtin:service.errors.fourxx.successCount",
spaceAggregation: "SUM",
timeAggregation: "DEFAULT",
splitBy: ["dt.entity.service"],
sortBy: "DESC",
sortByDimension: "",
filterBy: {
nestedFilters: [],
criteria: [],
},
limit: 20,
rate: "NONE",
enabled: true,
},
{
id: "C",
metric: "builtin:service.errors.fivexx.successCount",
spaceAggregation: "SUM",
timeAggregation: "DEFAULT",
splitBy: ["dt.entity.service"],
sortBy: "DESC",
sortByDimension: "",
filterBy: {
nestedFilters: [],
criteria: [],
},
limit: 20,
rate: "NONE",
enabled: true,
},
],
visualConfig: {
type: "STACKED_AREA",
global: {
hideLegend: false,
},
rules: [
{
matcher: "A:",
properties: {
color: "DEFAULT",
},
seriesOverrides: [],
},
{
matcher: "B:",
properties: {
color: "DEFAULT",
},
seriesOverrides: [],
},
{
matcher: "C:",
properties: {
color: "DEFAULT",
},
seriesOverrides: [],
},
],
axes: {
xAxis: {
displayName: "",
visible: true,
},
yAxes: [{
displayName: "",
visible: true,
min: "AUTO",
max: "AUTO",
position: "LEFT",
queryIds: [
"A",
"B",
"C",
],
defaultAxis: true,
}],
},
heatmapSettings: {
yAxis: "VALUE",
},
singleValueSettings: {
showSparkLine: true,
},
thresholds: [{
axisTarget: "LEFT",
rules: [
{
color: "#7dc540",
},
{
color: "#f5d30f",
},
{
color: "#dc172a",
},
],
visible: true,
}],
tableSettings: {
hiddenColumns: [],
},
graphChartSettings: {
connectNulls: false,
},
honeycombSettings: {
showHive: true,
showLegend: true,
showLabels: false,
},
},
queriesSettings: {
resolution: "",
},
metricExpressions: ["resolution=null&(builtin:service.errors.total.successCount:splitBy(\"dt.entity.service\"):sum:sort(value(sum,descending)):limit(20)):limit(100):names,(builtin:service.errors.fourxx.successCount:splitBy(\"dt.entity.service\"):sum:sort(value(sum,descending)):limit(20)):limit(100):names,(builtin:service.errors.fivexx.successCount:splitBy(\"dt.entity.service\"):sum:sort(value(sum,descending)):limit(20)):limit(100):names"],
},
{
name: "Total errors",
tileType: "DATA_EXPLORER",
configured: true,
bounds: {
top: 38,
left: 380,
width: 342,
height: 304,
},
tileFilter: {},
isAutoRefreshDisabled: true,
customName: "Total errors",
queries: [{
id: "A",
metric: "builtin:service.errors.total.count",
spaceAggregation: "SUM",
timeAggregation: "DEFAULT",
splitBy: [],
sortBy: "DESC",
sortByDimension: "",
filterBy: {
nestedFilters: [],
criteria: [],
},
limit: 20,
rate: "NONE",
enabled: true,
}],
visualConfig: {
type: "SINGLE_VALUE",
global: {
hideLegend: false,
},
rules: [{
matcher: "A:",
properties: {
color: "DEFAULT",
},
seriesOverrides: [],
}],
axes: {
xAxis: {
visible: true,
},
yAxes: [],
},
heatmapSettings: {
yAxis: "VALUE",
},
singleValueSettings: {
showTrend: false,
showSparkLine: true,
linkTileColorToThreshold: false,
},
thresholds: [{
axisTarget: "LEFT",
rules: [
{
color: "#7dc540",
},
{
color: "#f5d30f",
},
{
color: "#dc172a",
},
],
visible: true,
}],
tableSettings: {
hiddenColumns: [],
},
graphChartSettings: {
connectNulls: false,
},
honeycombSettings: {
showHive: true,
showLegend: true,
showLabels: false,
},
},
queriesSettings: {
resolution: "",
},
metricExpressions: [
"resolution=Inf&(builtin:service.errors.total.count:splitBy():sum:sort(value(sum,descending)):limit(20)):limit(100):names",
"resolution=null&(builtin:service.errors.total.count:splitBy():sum:sort(value(sum,descending)):limit(20))",
],
},
{
name: "Client side errors",
tileType: "DATA_EXPLORER",
configured: true,
bounds: {
top: 38,
left: 722,
width: 342,
height: 304,
},
tileFilter: {},
isAutoRefreshDisabled: true,
customName: "Client & server errors by operation",
queries: [{
id: "A",
metric: "builtin:service.errors.client.count",
spaceAggregation: "SUM",
timeAggregation: "DEFAULT",
splitBy: [],
sortBy: "DESC",
sortByDimension: "",
filterBy: {
nestedFilters: [],
criteria: [],
},
limit: 20,
rate: "NONE",
enabled: true,
}],
visualConfig: {
type: "SINGLE_VALUE",
global: {
hideLegend: false,
},
rules: [{
matcher: "A:",
properties: {
color: "DEFAULT",
},
seriesOverrides: [],
}],
axes: {
xAxis: {
visible: true,
},
yAxes: [],
},
heatmapSettings: {
yAxis: "VALUE",
},
singleValueSettings: {
showSparkLine: true,
},
thresholds: [{
axisTarget: "LEFT",
rules: [
{
color: "#7dc540",
},
{
color: "#f5d30f",
},
{
color: "#dc172a",
},
],
visible: true,
}],
tableSettings: {
hiddenColumns: [],
},
graphChartSettings: {
connectNulls: false,
},
honeycombSettings: {
showHive: true,
showLegend: true,
showLabels: false,
},
},
queriesSettings: {
resolution: "",
},
metricExpressions: [
"resolution=Inf&(builtin:service.errors.client.count:splitBy():sum:sort(value(sum,descending)):limit(20)):limit(100):names",
"resolution=null&(builtin:service.errors.client.count:splitBy():sum:sort(value(sum,descending)):limit(20))",
],
},
],
})});
import pulumi
import json
import pulumiverse_dynatrace as dynatrace
name = dynatrace.JsonDashboard("name", contents=json.dumps({
"dashboardMetadata": {
"name": "Performance overview",
"shared": True,
"owner": "Dynatrace",
"tags": ["performance"],
"preset": True,
"hasConsistentColors": False,
},
"tiles": [
{
"name": "Performance",
"tileType": "HEADER",
"configured": True,
"bounds": {
"top": 0,
"left": 38,
"width": 1026,
"height": 38,
},
"tileFilter": {},
"isAutoRefreshDisabled": True,
},
{
"name": "Failure rate by service",
"tileType": "DATA_EXPLORER",
"configured": True,
"bounds": {
"top": 342,
"left": 38,
"width": 342,
"height": 304,
},
"tileFilter": {},
"isAutoRefreshDisabled": True,
"customName": "Successful calls by service instance",
"queries": [{
"id": "A",
"metric": "builtin:service.errors.total.rate",
"spaceAggregation": "AUTO",
"timeAggregation": "DEFAULT",
"splitBy": ["dt.entity.service"],
"sortBy": "DESC",
"sortByDimension": "",
"filterBy": {
"nestedFilters": [],
"criteria": [],
},
"limit": 20,
"rate": "NONE",
"enabled": True,
}],
"visualConfig": {
"type": "TOP_LIST",
"global": {
"hideLegend": False,
},
"rules": [{
"matcher": "A:",
"properties": {
"color": "DEFAULT",
},
"seriesOverrides": [],
}],
"axes": {
"xAxis": {
"visible": True,
},
"yAxes": [],
},
"heatmapSettings": {
"yAxis": "VALUE",
},
"singleValueSettings": {
"showSparkLine": True,
},
"thresholds": [{
"axisTarget": "LEFT",
"rules": [
{
"color": "#7dc540",
},
{
"color": "#f5d30f",
},
{
"color": "#dc172a",
},
],
"visible": True,
}],
"tableSettings": {
"hiddenColumns": [],
},
"graphChartSettings": {
"connectNulls": False,
},
"honeycombSettings": {
"showHive": True,
"showLegend": True,
"showLabels": False,
},
},
"queriesSettings": {
"resolution": "",
},
"metricExpressions": ["resolution=Inf&(builtin:service.errors.total.rate:splitBy(\"dt.entity.service\"):sort(value(auto,descending)):limit(20)):limit(100):names"],
},
{
"name": "Total calls",
"tileType": "DATA_EXPLORER",
"configured": True,
"bounds": {
"top": 38,
"left": 38,
"width": 342,
"height": 304,
},
"tileFilter": {},
"isAutoRefreshDisabled": True,
"customName": "Total calls",
"queries": [
{
"id": "A",
"metric": "builtin:service.errors.total.successCount",
"spaceAggregation": "SUM",
"timeAggregation": "DEFAULT",
"splitBy": ["dt.entity.service"],
"sortBy": "DESC",
"sortByDimension": "",
"filterBy": {
"nestedFilters": [],
"criteria": [],
},
"limit": 20,
"rate": "NONE",
"enabled": True,
},
{
"id": "B",
"metric": "builtin:service.errors.fourxx.successCount",
"spaceAggregation": "SUM",
"timeAggregation": "DEFAULT",
"splitBy": ["dt.entity.service"],
"sortBy": "DESC",
"sortByDimension": "",
"filterBy": {
"nestedFilters": [],
"criteria": [],
},
"limit": 20,
"rate": "NONE",
"enabled": True,
},
{
"id": "C",
"metric": "builtin:service.errors.fivexx.successCount",
"spaceAggregation": "SUM",
"timeAggregation": "DEFAULT",
"splitBy": ["dt.entity.service"],
"sortBy": "DESC",
"sortByDimension": "",
"filterBy": {
"nestedFilters": [],
"criteria": [],
},
"limit": 20,
"rate": "NONE",
"enabled": True,
},
],
"visualConfig": {
"type": "STACKED_AREA",
"global": {
"hideLegend": False,
},
"rules": [
{
"matcher": "A:",
"properties": {
"color": "DEFAULT",
},
"seriesOverrides": [],
},
{
"matcher": "B:",
"properties": {
"color": "DEFAULT",
},
"seriesOverrides": [],
},
{
"matcher": "C:",
"properties": {
"color": "DEFAULT",
},
"seriesOverrides": [],
},
],
"axes": {
"xAxis": {
"displayName": "",
"visible": True,
},
"yAxes": [{
"displayName": "",
"visible": True,
"min": "AUTO",
"max": "AUTO",
"position": "LEFT",
"queryIds": [
"A",
"B",
"C",
],
"defaultAxis": True,
}],
},
"heatmapSettings": {
"yAxis": "VALUE",
},
"singleValueSettings": {
"showSparkLine": True,
},
"thresholds": [{
"axisTarget": "LEFT",
"rules": [
{
"color": "#7dc540",
},
{
"color": "#f5d30f",
},
{
"color": "#dc172a",
},
],
"visible": True,
}],
"tableSettings": {
"hiddenColumns": [],
},
"graphChartSettings": {
"connectNulls": False,
},
"honeycombSettings": {
"showHive": True,
"showLegend": True,
"showLabels": False,
},
},
"queriesSettings": {
"resolution": "",
},
"metricExpressions": ["resolution=null&(builtin:service.errors.total.successCount:splitBy(\"dt.entity.service\"):sum:sort(value(sum,descending)):limit(20)):limit(100):names,(builtin:service.errors.fourxx.successCount:splitBy(\"dt.entity.service\"):sum:sort(value(sum,descending)):limit(20)):limit(100):names,(builtin:service.errors.fivexx.successCount:splitBy(\"dt.entity.service\"):sum:sort(value(sum,descending)):limit(20)):limit(100):names"],
},
{
"name": "Total errors",
"tileType": "DATA_EXPLORER",
"configured": True,
"bounds": {
"top": 38,
"left": 380,
"width": 342,
"height": 304,
},
"tileFilter": {},
"isAutoRefreshDisabled": True,
"customName": "Total errors",
"queries": [{
"id": "A",
"metric": "builtin:service.errors.total.count",
"spaceAggregation": "SUM",
"timeAggregation": "DEFAULT",
"splitBy": [],
"sortBy": "DESC",
"sortByDimension": "",
"filterBy": {
"nestedFilters": [],
"criteria": [],
},
"limit": 20,
"rate": "NONE",
"enabled": True,
}],
"visualConfig": {
"type": "SINGLE_VALUE",
"global": {
"hideLegend": False,
},
"rules": [{
"matcher": "A:",
"properties": {
"color": "DEFAULT",
},
"seriesOverrides": [],
}],
"axes": {
"xAxis": {
"visible": True,
},
"yAxes": [],
},
"heatmapSettings": {
"yAxis": "VALUE",
},
"singleValueSettings": {
"showTrend": False,
"showSparkLine": True,
"linkTileColorToThreshold": False,
},
"thresholds": [{
"axisTarget": "LEFT",
"rules": [
{
"color": "#7dc540",
},
{
"color": "#f5d30f",
},
{
"color": "#dc172a",
},
],
"visible": True,
}],
"tableSettings": {
"hiddenColumns": [],
},
"graphChartSettings": {
"connectNulls": False,
},
"honeycombSettings": {
"showHive": True,
"showLegend": True,
"showLabels": False,
},
},
"queriesSettings": {
"resolution": "",
},
"metricExpressions": [
"resolution=Inf&(builtin:service.errors.total.count:splitBy():sum:sort(value(sum,descending)):limit(20)):limit(100):names",
"resolution=null&(builtin:service.errors.total.count:splitBy():sum:sort(value(sum,descending)):limit(20))",
],
},
{
"name": "Client side errors",
"tileType": "DATA_EXPLORER",
"configured": True,
"bounds": {
"top": 38,
"left": 722,
"width": 342,
"height": 304,
},
"tileFilter": {},
"isAutoRefreshDisabled": True,
"customName": "Client & server errors by operation",
"queries": [{
"id": "A",
"metric": "builtin:service.errors.client.count",
"spaceAggregation": "SUM",
"timeAggregation": "DEFAULT",
"splitBy": [],
"sortBy": "DESC",
"sortByDimension": "",
"filterBy": {
"nestedFilters": [],
"criteria": [],
},
"limit": 20,
"rate": "NONE",
"enabled": True,
}],
"visualConfig": {
"type": "SINGLE_VALUE",
"global": {
"hideLegend": False,
},
"rules": [{
"matcher": "A:",
"properties": {
"color": "DEFAULT",
},
"seriesOverrides": [],
}],
"axes": {
"xAxis": {
"visible": True,
},
"yAxes": [],
},
"heatmapSettings": {
"yAxis": "VALUE",
},
"singleValueSettings": {
"showSparkLine": True,
},
"thresholds": [{
"axisTarget": "LEFT",
"rules": [
{
"color": "#7dc540",
},
{
"color": "#f5d30f",
},
{
"color": "#dc172a",
},
],
"visible": True,
}],
"tableSettings": {
"hiddenColumns": [],
},
"graphChartSettings": {
"connectNulls": False,
},
"honeycombSettings": {
"showHive": True,
"showLegend": True,
"showLabels": False,
},
},
"queriesSettings": {
"resolution": "",
},
"metricExpressions": [
"resolution=Inf&(builtin:service.errors.client.count:splitBy():sum:sort(value(sum,descending)):limit(20)):limit(100):names",
"resolution=null&(builtin:service.errors.client.count:splitBy():sum:sort(value(sum,descending)):limit(20))",
],
},
],
}))
package main
import (
"encoding/json"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
tmpJSON0, err := json.Marshal(map[string]interface{}{
"dashboardMetadata": map[string]interface{}{
"name": "Performance overview",
"shared": true,
"owner": "Dynatrace",
"tags": []string{
"performance",
},
"preset": true,
"hasConsistentColors": false,
},
"tiles": []interface{}{
map[string]interface{}{
"name": "Performance",
"tileType": "HEADER",
"configured": true,
"bounds": map[string]interface{}{
"top": 0,
"left": 38,
"width": 1026,
"height": 38,
},
"tileFilter": map[string]interface{}{},
"isAutoRefreshDisabled": true,
},
map[string]interface{}{
"name": "Failure rate by service",
"tileType": "DATA_EXPLORER",
"configured": true,
"bounds": map[string]interface{}{
"top": 342,
"left": 38,
"width": 342,
"height": 304,
},
"tileFilter": map[string]interface{}{},
"isAutoRefreshDisabled": true,
"customName": "Successful calls by service instance",
"queries": []map[string]interface{}{
map[string]interface{}{
"id": "A",
"metric": "builtin:service.errors.total.rate",
"spaceAggregation": "AUTO",
"timeAggregation": "DEFAULT",
"splitBy": []string{
"dt.entity.service",
},
"sortBy": "DESC",
"sortByDimension": "",
"filterBy": map[string]interface{}{
"nestedFilters": []interface{}{},
"criteria": []interface{}{},
},
"limit": 20,
"rate": "NONE",
"enabled": true,
},
},
"visualConfig": map[string]interface{}{
"type": "TOP_LIST",
"global": map[string]interface{}{
"hideLegend": false,
},
"rules": []map[string]interface{}{
map[string]interface{}{
"matcher": "A:",
"properties": map[string]interface{}{
"color": "DEFAULT",
},
"seriesOverrides": []interface{}{},
},
},
"axes": map[string]interface{}{
"xAxis": map[string]interface{}{
"visible": true,
},
"yAxes": []interface{}{},
},
"heatmapSettings": map[string]interface{}{
"yAxis": "VALUE",
},
"singleValueSettings": map[string]interface{}{
"showSparkLine": true,
},
"thresholds": []map[string]interface{}{
map[string]interface{}{
"axisTarget": "LEFT",
"rules": []map[string]interface{}{
map[string]interface{}{
"color": "#7dc540",
},
map[string]interface{}{
"color": "#f5d30f",
},
map[string]interface{}{
"color": "#dc172a",
},
},
"visible": true,
},
},
"tableSettings": map[string]interface{}{
"hiddenColumns": []interface{}{},
},
"graphChartSettings": map[string]interface{}{
"connectNulls": false,
},
"honeycombSettings": map[string]interface{}{
"showHive": true,
"showLegend": true,
"showLabels": false,
},
},
"queriesSettings": map[string]interface{}{
"resolution": "",
},
"metricExpressions": []string{
"resolution=Inf&(builtin:service.errors.total.rate:splitBy(\"dt.entity.service\"):sort(value(auto,descending)):limit(20)):limit(100):names",
},
},
map[string]interface{}{
"name": "Total calls",
"tileType": "DATA_EXPLORER",
"configured": true,
"bounds": map[string]interface{}{
"top": 38,
"left": 38,
"width": 342,
"height": 304,
},
"tileFilter": map[string]interface{}{},
"isAutoRefreshDisabled": true,
"customName": "Total calls",
"queries": []map[string]interface{}{
map[string]interface{}{
"id": "A",
"metric": "builtin:service.errors.total.successCount",
"spaceAggregation": "SUM",
"timeAggregation": "DEFAULT",
"splitBy": []string{
"dt.entity.service",
},
"sortBy": "DESC",
"sortByDimension": "",
"filterBy": map[string]interface{}{
"nestedFilters": []interface{}{},
"criteria": []interface{}{},
},
"limit": 20,
"rate": "NONE",
"enabled": true,
},
map[string]interface{}{
"id": "B",
"metric": "builtin:service.errors.fourxx.successCount",
"spaceAggregation": "SUM",
"timeAggregation": "DEFAULT",
"splitBy": []string{
"dt.entity.service",
},
"sortBy": "DESC",
"sortByDimension": "",
"filterBy": map[string]interface{}{
"nestedFilters": []interface{}{},
"criteria": []interface{}{},
},
"limit": 20,
"rate": "NONE",
"enabled": true,
},
map[string]interface{}{
"id": "C",
"metric": "builtin:service.errors.fivexx.successCount",
"spaceAggregation": "SUM",
"timeAggregation": "DEFAULT",
"splitBy": []string{
"dt.entity.service",
},
"sortBy": "DESC",
"sortByDimension": "",
"filterBy": map[string]interface{}{
"nestedFilters": []interface{}{},
"criteria": []interface{}{},
},
"limit": 20,
"rate": "NONE",
"enabled": true,
},
},
"visualConfig": map[string]interface{}{
"type": "STACKED_AREA",
"global": map[string]interface{}{
"hideLegend": false,
},
"rules": []map[string]interface{}{
map[string]interface{}{
"matcher": "A:",
"properties": map[string]interface{}{
"color": "DEFAULT",
},
"seriesOverrides": []interface{}{},
},
map[string]interface{}{
"matcher": "B:",
"properties": map[string]interface{}{
"color": "DEFAULT",
},
"seriesOverrides": []interface{}{},
},
map[string]interface{}{
"matcher": "C:",
"properties": map[string]interface{}{
"color": "DEFAULT",
},
"seriesOverrides": []interface{}{},
},
},
"axes": map[string]interface{}{
"xAxis": map[string]interface{}{
"displayName": "",
"visible": true,
},
"yAxes": []map[string]interface{}{
map[string]interface{}{
"displayName": "",
"visible": true,
"min": "AUTO",
"max": "AUTO",
"position": "LEFT",
"queryIds": []string{
"A",
"B",
"C",
},
"defaultAxis": true,
},
},
},
"heatmapSettings": map[string]interface{}{
"yAxis": "VALUE",
},
"singleValueSettings": map[string]interface{}{
"showSparkLine": true,
},
"thresholds": []map[string]interface{}{
map[string]interface{}{
"axisTarget": "LEFT",
"rules": []map[string]interface{}{
map[string]interface{}{
"color": "#7dc540",
},
map[string]interface{}{
"color": "#f5d30f",
},
map[string]interface{}{
"color": "#dc172a",
},
},
"visible": true,
},
},
"tableSettings": map[string]interface{}{
"hiddenColumns": []interface{}{},
},
"graphChartSettings": map[string]interface{}{
"connectNulls": false,
},
"honeycombSettings": map[string]interface{}{
"showHive": true,
"showLegend": true,
"showLabels": false,
},
},
"queriesSettings": map[string]interface{}{
"resolution": "",
},
"metricExpressions": []string{
"resolution=null&(builtin:service.errors.total.successCount:splitBy(\"dt.entity.service\"):sum:sort(value(sum,descending)):limit(20)):limit(100):names,(builtin:service.errors.fourxx.successCount:splitBy(\"dt.entity.service\"):sum:sort(value(sum,descending)):limit(20)):limit(100):names,(builtin:service.errors.fivexx.successCount:splitBy(\"dt.entity.service\"):sum:sort(value(sum,descending)):limit(20)):limit(100):names",
},
},
map[string]interface{}{
"name": "Total errors",
"tileType": "DATA_EXPLORER",
"configured": true,
"bounds": map[string]interface{}{
"top": 38,
"left": 380,
"width": 342,
"height": 304,
},
"tileFilter": map[string]interface{}{},
"isAutoRefreshDisabled": true,
"customName": "Total errors",
"queries": []map[string]interface{}{
map[string]interface{}{
"id": "A",
"metric": "builtin:service.errors.total.count",
"spaceAggregation": "SUM",
"timeAggregation": "DEFAULT",
"splitBy": []interface{}{},
"sortBy": "DESC",
"sortByDimension": "",
"filterBy": map[string]interface{}{
"nestedFilters": []interface{}{},
"criteria": []interface{}{},
},
"limit": 20,
"rate": "NONE",
"enabled": true,
},
},
"visualConfig": map[string]interface{}{
"type": "SINGLE_VALUE",
"global": map[string]interface{}{
"hideLegend": false,
},
"rules": []map[string]interface{}{
map[string]interface{}{
"matcher": "A:",
"properties": map[string]interface{}{
"color": "DEFAULT",
},
"seriesOverrides": []interface{}{},
},
},
"axes": map[string]interface{}{
"xAxis": map[string]interface{}{
"visible": true,
},
"yAxes": []interface{}{},
},
"heatmapSettings": map[string]interface{}{
"yAxis": "VALUE",
},
"singleValueSettings": map[string]interface{}{
"showTrend": false,
"showSparkLine": true,
"linkTileColorToThreshold": false,
},
"thresholds": []map[string]interface{}{
map[string]interface{}{
"axisTarget": "LEFT",
"rules": []map[string]interface{}{
map[string]interface{}{
"color": "#7dc540",
},
map[string]interface{}{
"color": "#f5d30f",
},
map[string]interface{}{
"color": "#dc172a",
},
},
"visible": true,
},
},
"tableSettings": map[string]interface{}{
"hiddenColumns": []interface{}{},
},
"graphChartSettings": map[string]interface{}{
"connectNulls": false,
},
"honeycombSettings": map[string]interface{}{
"showHive": true,
"showLegend": true,
"showLabels": false,
},
},
"queriesSettings": map[string]interface{}{
"resolution": "",
},
"metricExpressions": []string{
"resolution=Inf&(builtin:service.errors.total.count:splitBy():sum:sort(value(sum,descending)):limit(20)):limit(100):names",
"resolution=null&(builtin:service.errors.total.count:splitBy():sum:sort(value(sum,descending)):limit(20))",
},
},
map[string]interface{}{
"name": "Client side errors",
"tileType": "DATA_EXPLORER",
"configured": true,
"bounds": map[string]interface{}{
"top": 38,
"left": 722,
"width": 342,
"height": 304,
},
"tileFilter": map[string]interface{}{},
"isAutoRefreshDisabled": true,
"customName": "Client & server errors by operation",
"queries": []map[string]interface{}{
map[string]interface{}{
"id": "A",
"metric": "builtin:service.errors.client.count",
"spaceAggregation": "SUM",
"timeAggregation": "DEFAULT",
"splitBy": []interface{}{},
"sortBy": "DESC",
"sortByDimension": "",
"filterBy": map[string]interface{}{
"nestedFilters": []interface{}{},
"criteria": []interface{}{},
},
"limit": 20,
"rate": "NONE",
"enabled": true,
},
},
"visualConfig": map[string]interface{}{
"type": "SINGLE_VALUE",
"global": map[string]interface{}{
"hideLegend": false,
},
"rules": []map[string]interface{}{
map[string]interface{}{
"matcher": "A:",
"properties": map[string]interface{}{
"color": "DEFAULT",
},
"seriesOverrides": []interface{}{},
},
},
"axes": map[string]interface{}{
"xAxis": map[string]interface{}{
"visible": true,
},
"yAxes": []interface{}{},
},
"heatmapSettings": map[string]interface{}{
"yAxis": "VALUE",
},
"singleValueSettings": map[string]interface{}{
"showSparkLine": true,
},
"thresholds": []map[string]interface{}{
map[string]interface{}{
"axisTarget": "LEFT",
"rules": []map[string]interface{}{
map[string]interface{}{
"color": "#7dc540",
},
map[string]interface{}{
"color": "#f5d30f",
},
map[string]interface{}{
"color": "#dc172a",
},
},
"visible": true,
},
},
"tableSettings": map[string]interface{}{
"hiddenColumns": []interface{}{},
},
"graphChartSettings": map[string]interface{}{
"connectNulls": false,
},
"honeycombSettings": map[string]interface{}{
"showHive": true,
"showLegend": true,
"showLabels": false,
},
},
"queriesSettings": map[string]interface{}{
"resolution": "",
},
"metricExpressions": []string{
"resolution=Inf&(builtin:service.errors.client.count:splitBy():sum:sort(value(sum,descending)):limit(20)):limit(100):names",
"resolution=null&(builtin:service.errors.client.count:splitBy():sum:sort(value(sum,descending)):limit(20))",
},
},
},
})
if err != nil {
return err
}
json0 := string(tmpJSON0)
_, err = dynatrace.NewJsonDashboard(ctx, "name", &dynatrace.JsonDashboardArgs{
Contents: pulumi.String(pulumi.String(json0)),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using Pulumi;
using Dynatrace = Pulumiverse.Dynatrace;
return await Deployment.RunAsync(() =>
{
var name = new Dynatrace.JsonDashboard("name", new()
{
Contents = JsonSerializer.Serialize(new Dictionary<string, object?>
{
["dashboardMetadata"] = new Dictionary<string, object?>
{
["name"] = "Performance overview",
["shared"] = true,
["owner"] = "Dynatrace",
["tags"] = new[]
{
"performance",
},
["preset"] = true,
["hasConsistentColors"] = false,
},
["tiles"] = new[]
{
new Dictionary<string, object?>
{
["name"] = "Performance",
["tileType"] = "HEADER",
["configured"] = true,
["bounds"] = new Dictionary<string, object?>
{
["top"] = 0,
["left"] = 38,
["width"] = 1026,
["height"] = 38,
},
["tileFilter"] = new Dictionary<string, object?>
{
},
["isAutoRefreshDisabled"] = true,
},
new Dictionary<string, object?>
{
["name"] = "Failure rate by service",
["tileType"] = "DATA_EXPLORER",
["configured"] = true,
["bounds"] = new Dictionary<string, object?>
{
["top"] = 342,
["left"] = 38,
["width"] = 342,
["height"] = 304,
},
["tileFilter"] = new Dictionary<string, object?>
{
},
["isAutoRefreshDisabled"] = true,
["customName"] = "Successful calls by service instance",
["queries"] = new[]
{
new Dictionary<string, object?>
{
["id"] = "A",
["metric"] = "builtin:service.errors.total.rate",
["spaceAggregation"] = "AUTO",
["timeAggregation"] = "DEFAULT",
["splitBy"] = new[]
{
"dt.entity.service",
},
["sortBy"] = "DESC",
["sortByDimension"] = "",
["filterBy"] = new Dictionary<string, object?>
{
["nestedFilters"] = new[]
{
},
["criteria"] = new[]
{
},
},
["limit"] = 20,
["rate"] = "NONE",
["enabled"] = true,
},
},
["visualConfig"] = new Dictionary<string, object?>
{
["type"] = "TOP_LIST",
["global"] = new Dictionary<string, object?>
{
["hideLegend"] = false,
},
["rules"] = new[]
{
new Dictionary<string, object?>
{
["matcher"] = "A:",
["properties"] = new Dictionary<string, object?>
{
["color"] = "DEFAULT",
},
["seriesOverrides"] = new[]
{
},
},
},
["axes"] = new Dictionary<string, object?>
{
["xAxis"] = new Dictionary<string, object?>
{
["visible"] = true,
},
["yAxes"] = new[]
{
},
},
["heatmapSettings"] = new Dictionary<string, object?>
{
["yAxis"] = "VALUE",
},
["singleValueSettings"] = new Dictionary<string, object?>
{
["showSparkLine"] = true,
},
["thresholds"] = new[]
{
new Dictionary<string, object?>
{
["axisTarget"] = "LEFT",
["rules"] = new[]
{
new Dictionary<string, object?>
{
["color"] = "#7dc540",
},
new Dictionary<string, object?>
{
["color"] = "#f5d30f",
},
new Dictionary<string, object?>
{
["color"] = "#dc172a",
},
},
["visible"] = true,
},
},
["tableSettings"] = new Dictionary<string, object?>
{
["hiddenColumns"] = new[]
{
},
},
["graphChartSettings"] = new Dictionary<string, object?>
{
["connectNulls"] = false,
},
["honeycombSettings"] = new Dictionary<string, object?>
{
["showHive"] = true,
["showLegend"] = true,
["showLabels"] = false,
},
},
["queriesSettings"] = new Dictionary<string, object?>
{
["resolution"] = "",
},
["metricExpressions"] = new[]
{
"resolution=Inf&(builtin:service.errors.total.rate:splitBy(\"dt.entity.service\"):sort(value(auto,descending)):limit(20)):limit(100):names",
},
},
new Dictionary<string, object?>
{
["name"] = "Total calls",
["tileType"] = "DATA_EXPLORER",
["configured"] = true,
["bounds"] = new Dictionary<string, object?>
{
["top"] = 38,
["left"] = 38,
["width"] = 342,
["height"] = 304,
},
["tileFilter"] = new Dictionary<string, object?>
{
},
["isAutoRefreshDisabled"] = true,
["customName"] = "Total calls",
["queries"] = new[]
{
new Dictionary<string, object?>
{
["id"] = "A",
["metric"] = "builtin:service.errors.total.successCount",
["spaceAggregation"] = "SUM",
["timeAggregation"] = "DEFAULT",
["splitBy"] = new[]
{
"dt.entity.service",
},
["sortBy"] = "DESC",
["sortByDimension"] = "",
["filterBy"] = new Dictionary<string, object?>
{
["nestedFilters"] = new[]
{
},
["criteria"] = new[]
{
},
},
["limit"] = 20,
["rate"] = "NONE",
["enabled"] = true,
},
new Dictionary<string, object?>
{
["id"] = "B",
["metric"] = "builtin:service.errors.fourxx.successCount",
["spaceAggregation"] = "SUM",
["timeAggregation"] = "DEFAULT",
["splitBy"] = new[]
{
"dt.entity.service",
},
["sortBy"] = "DESC",
["sortByDimension"] = "",
["filterBy"] = new Dictionary<string, object?>
{
["nestedFilters"] = new[]
{
},
["criteria"] = new[]
{
},
},
["limit"] = 20,
["rate"] = "NONE",
["enabled"] = true,
},
new Dictionary<string, object?>
{
["id"] = "C",
["metric"] = "builtin:service.errors.fivexx.successCount",
["spaceAggregation"] = "SUM",
["timeAggregation"] = "DEFAULT",
["splitBy"] = new[]
{
"dt.entity.service",
},
["sortBy"] = "DESC",
["sortByDimension"] = "",
["filterBy"] = new Dictionary<string, object?>
{
["nestedFilters"] = new[]
{
},
["criteria"] = new[]
{
},
},
["limit"] = 20,
["rate"] = "NONE",
["enabled"] = true,
},
},
["visualConfig"] = new Dictionary<string, object?>
{
["type"] = "STACKED_AREA",
["global"] = new Dictionary<string, object?>
{
["hideLegend"] = false,
},
["rules"] = new[]
{
new Dictionary<string, object?>
{
["matcher"] = "A:",
["properties"] = new Dictionary<string, object?>
{
["color"] = "DEFAULT",
},
["seriesOverrides"] = new[]
{
},
},
new Dictionary<string, object?>
{
["matcher"] = "B:",
["properties"] = new Dictionary<string, object?>
{
["color"] = "DEFAULT",
},
["seriesOverrides"] = new[]
{
},
},
new Dictionary<string, object?>
{
["matcher"] = "C:",
["properties"] = new Dictionary<string, object?>
{
["color"] = "DEFAULT",
},
["seriesOverrides"] = new[]
{
},
},
},
["axes"] = new Dictionary<string, object?>
{
["xAxis"] = new Dictionary<string, object?>
{
["displayName"] = "",
["visible"] = true,
},
["yAxes"] = new[]
{
new Dictionary<string, object?>
{
["displayName"] = "",
["visible"] = true,
["min"] = "AUTO",
["max"] = "AUTO",
["position"] = "LEFT",
["queryIds"] = new[]
{
"A",
"B",
"C",
},
["defaultAxis"] = true,
},
},
},
["heatmapSettings"] = new Dictionary<string, object?>
{
["yAxis"] = "VALUE",
},
["singleValueSettings"] = new Dictionary<string, object?>
{
["showSparkLine"] = true,
},
["thresholds"] = new[]
{
new Dictionary<string, object?>
{
["axisTarget"] = "LEFT",
["rules"] = new[]
{
new Dictionary<string, object?>
{
["color"] = "#7dc540",
},
new Dictionary<string, object?>
{
["color"] = "#f5d30f",
},
new Dictionary<string, object?>
{
["color"] = "#dc172a",
},
},
["visible"] = true,
},
},
["tableSettings"] = new Dictionary<string, object?>
{
["hiddenColumns"] = new[]
{
},
},
["graphChartSettings"] = new Dictionary<string, object?>
{
["connectNulls"] = false,
},
["honeycombSettings"] = new Dictionary<string, object?>
{
["showHive"] = true,
["showLegend"] = true,
["showLabels"] = false,
},
},
["queriesSettings"] = new Dictionary<string, object?>
{
["resolution"] = "",
},
["metricExpressions"] = new[]
{
"resolution=null&(builtin:service.errors.total.successCount:splitBy(\"dt.entity.service\"):sum:sort(value(sum,descending)):limit(20)):limit(100):names,(builtin:service.errors.fourxx.successCount:splitBy(\"dt.entity.service\"):sum:sort(value(sum,descending)):limit(20)):limit(100):names,(builtin:service.errors.fivexx.successCount:splitBy(\"dt.entity.service\"):sum:sort(value(sum,descending)):limit(20)):limit(100):names",
},
},
new Dictionary<string, object?>
{
["name"] = "Total errors",
["tileType"] = "DATA_EXPLORER",
["configured"] = true,
["bounds"] = new Dictionary<string, object?>
{
["top"] = 38,
["left"] = 380,
["width"] = 342,
["height"] = 304,
},
["tileFilter"] = new Dictionary<string, object?>
{
},
["isAutoRefreshDisabled"] = true,
["customName"] = "Total errors",
["queries"] = new[]
{
new Dictionary<string, object?>
{
["id"] = "A",
["metric"] = "builtin:service.errors.total.count",
["spaceAggregation"] = "SUM",
["timeAggregation"] = "DEFAULT",
["splitBy"] = new[]
{
},
["sortBy"] = "DESC",
["sortByDimension"] = "",
["filterBy"] = new Dictionary<string, object?>
{
["nestedFilters"] = new[]
{
},
["criteria"] = new[]
{
},
},
["limit"] = 20,
["rate"] = "NONE",
["enabled"] = true,
},
},
["visualConfig"] = new Dictionary<string, object?>
{
["type"] = "SINGLE_VALUE",
["global"] = new Dictionary<string, object?>
{
["hideLegend"] = false,
},
["rules"] = new[]
{
new Dictionary<string, object?>
{
["matcher"] = "A:",
["properties"] = new Dictionary<string, object?>
{
["color"] = "DEFAULT",
},
["seriesOverrides"] = new[]
{
},
},
},
["axes"] = new Dictionary<string, object?>
{
["xAxis"] = new Dictionary<string, object?>
{
["visible"] = true,
},
["yAxes"] = new[]
{
},
},
["heatmapSettings"] = new Dictionary<string, object?>
{
["yAxis"] = "VALUE",
},
["singleValueSettings"] = new Dictionary<string, object?>
{
["showTrend"] = false,
["showSparkLine"] = true,
["linkTileColorToThreshold"] = false,
},
["thresholds"] = new[]
{
new Dictionary<string, object?>
{
["axisTarget"] = "LEFT",
["rules"] = new[]
{
new Dictionary<string, object?>
{
["color"] = "#7dc540",
},
new Dictionary<string, object?>
{
["color"] = "#f5d30f",
},
new Dictionary<string, object?>
{
["color"] = "#dc172a",
},
},
["visible"] = true,
},
},
["tableSettings"] = new Dictionary<string, object?>
{
["hiddenColumns"] = new[]
{
},
},
["graphChartSettings"] = new Dictionary<string, object?>
{
["connectNulls"] = false,
},
["honeycombSettings"] = new Dictionary<string, object?>
{
["showHive"] = true,
["showLegend"] = true,
["showLabels"] = false,
},
},
["queriesSettings"] = new Dictionary<string, object?>
{
["resolution"] = "",
},
["metricExpressions"] = new[]
{
"resolution=Inf&(builtin:service.errors.total.count:splitBy():sum:sort(value(sum,descending)):limit(20)):limit(100):names",
"resolution=null&(builtin:service.errors.total.count:splitBy():sum:sort(value(sum,descending)):limit(20))",
},
},
new Dictionary<string, object?>
{
["name"] = "Client side errors",
["tileType"] = "DATA_EXPLORER",
["configured"] = true,
["bounds"] = new Dictionary<string, object?>
{
["top"] = 38,
["left"] = 722,
["width"] = 342,
["height"] = 304,
},
["tileFilter"] = new Dictionary<string, object?>
{
},
["isAutoRefreshDisabled"] = true,
["customName"] = "Client & server errors by operation",
["queries"] = new[]
{
new Dictionary<string, object?>
{
["id"] = "A",
["metric"] = "builtin:service.errors.client.count",
["spaceAggregation"] = "SUM",
["timeAggregation"] = "DEFAULT",
["splitBy"] = new[]
{
},
["sortBy"] = "DESC",
["sortByDimension"] = "",
["filterBy"] = new Dictionary<string, object?>
{
["nestedFilters"] = new[]
{
},
["criteria"] = new[]
{
},
},
["limit"] = 20,
["rate"] = "NONE",
["enabled"] = true,
},
},
["visualConfig"] = new Dictionary<string, object?>
{
["type"] = "SINGLE_VALUE",
["global"] = new Dictionary<string, object?>
{
["hideLegend"] = false,
},
["rules"] = new[]
{
new Dictionary<string, object?>
{
["matcher"] = "A:",
["properties"] = new Dictionary<string, object?>
{
["color"] = "DEFAULT",
},
["seriesOverrides"] = new[]
{
},
},
},
["axes"] = new Dictionary<string, object?>
{
["xAxis"] = new Dictionary<string, object?>
{
["visible"] = true,
},
["yAxes"] = new[]
{
},
},
["heatmapSettings"] = new Dictionary<string, object?>
{
["yAxis"] = "VALUE",
},
["singleValueSettings"] = new Dictionary<string, object?>
{
["showSparkLine"] = true,
},
["thresholds"] = new[]
{
new Dictionary<string, object?>
{
["axisTarget"] = "LEFT",
["rules"] = new[]
{
new Dictionary<string, object?>
{
["color"] = "#7dc540",
},
new Dictionary<string, object?>
{
["color"] = "#f5d30f",
},
new Dictionary<string, object?>
{
["color"] = "#dc172a",
},
},
["visible"] = true,
},
},
["tableSettings"] = new Dictionary<string, object?>
{
["hiddenColumns"] = new[]
{
},
},
["graphChartSettings"] = new Dictionary<string, object?>
{
["connectNulls"] = false,
},
["honeycombSettings"] = new Dictionary<string, object?>
{
["showHive"] = true,
["showLegend"] = true,
["showLabels"] = false,
},
},
["queriesSettings"] = new Dictionary<string, object?>
{
["resolution"] = "",
},
["metricExpressions"] = new[]
{
"resolution=Inf&(builtin:service.errors.client.count:splitBy():sum:sort(value(sum,descending)):limit(20)):limit(100):names",
"resolution=null&(builtin:service.errors.client.count:splitBy():sum:sort(value(sum,descending)):limit(20))",
},
},
},
}),
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.dynatrace.JsonDashboard;
import com.pulumi.dynatrace.JsonDashboardArgs;
import static com.pulumi.codegen.internal.Serialization.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var name = new JsonDashboard("name", JsonDashboardArgs.builder()
.contents(serializeJson(
jsonObject(
jsonProperty("dashboardMetadata", jsonObject(
jsonProperty("name", "Performance overview"),
jsonProperty("shared", true),
jsonProperty("owner", "Dynatrace"),
jsonProperty("tags", jsonArray("performance")),
jsonProperty("preset", true),
jsonProperty("hasConsistentColors", false)
)),
jsonProperty("tiles", jsonArray(
jsonObject(
jsonProperty("name", "Performance"),
jsonProperty("tileType", "HEADER"),
jsonProperty("configured", true),
jsonProperty("bounds", jsonObject(
jsonProperty("top", 0),
jsonProperty("left", 38),
jsonProperty("width", 1026),
jsonProperty("height", 38)
)),
jsonProperty("tileFilter", jsonObject(
)),
jsonProperty("isAutoRefreshDisabled", true)
),
jsonObject(
jsonProperty("name", "Failure rate by service"),
jsonProperty("tileType", "DATA_EXPLORER"),
jsonProperty("configured", true),
jsonProperty("bounds", jsonObject(
jsonProperty("top", 342),
jsonProperty("left", 38),
jsonProperty("width", 342),
jsonProperty("height", 304)
)),
jsonProperty("tileFilter", jsonObject(
)),
jsonProperty("isAutoRefreshDisabled", true),
jsonProperty("customName", "Successful calls by service instance"),
jsonProperty("queries", jsonArray(jsonObject(
jsonProperty("id", "A"),
jsonProperty("metric", "builtin:service.errors.total.rate"),
jsonProperty("spaceAggregation", "AUTO"),
jsonProperty("timeAggregation", "DEFAULT"),
jsonProperty("splitBy", jsonArray("dt.entity.service")),
jsonProperty("sortBy", "DESC"),
jsonProperty("sortByDimension", ""),
jsonProperty("filterBy", jsonObject(
jsonProperty("nestedFilters", jsonArray(
)),
jsonProperty("criteria", jsonArray(
))
)),
jsonProperty("limit", 20),
jsonProperty("rate", "NONE"),
jsonProperty("enabled", true)
))),
jsonProperty("visualConfig", jsonObject(
jsonProperty("type", "TOP_LIST"),
jsonProperty("global", jsonObject(
jsonProperty("hideLegend", false)
)),
jsonProperty("rules", jsonArray(jsonObject(
jsonProperty("matcher", "A:"),
jsonProperty("properties", jsonObject(
jsonProperty("color", "DEFAULT")
)),
jsonProperty("seriesOverrides", jsonArray(
))
))),
jsonProperty("axes", jsonObject(
jsonProperty("xAxis", jsonObject(
jsonProperty("visible", true)
)),
jsonProperty("yAxes", jsonArray(
))
)),
jsonProperty("heatmapSettings", jsonObject(
jsonProperty("yAxis", "VALUE")
)),
jsonProperty("singleValueSettings", jsonObject(
jsonProperty("showSparkLine", true)
)),
jsonProperty("thresholds", jsonArray(jsonObject(
jsonProperty("axisTarget", "LEFT"),
jsonProperty("rules", jsonArray(
jsonObject(
jsonProperty("color", "#7dc540")
),
jsonObject(
jsonProperty("color", "#f5d30f")
),
jsonObject(
jsonProperty("color", "#dc172a")
)
)),
jsonProperty("visible", true)
))),
jsonProperty("tableSettings", jsonObject(
jsonProperty("hiddenColumns", jsonArray(
))
)),
jsonProperty("graphChartSettings", jsonObject(
jsonProperty("connectNulls", false)
)),
jsonProperty("honeycombSettings", jsonObject(
jsonProperty("showHive", true),
jsonProperty("showLegend", true),
jsonProperty("showLabels", false)
))
)),
jsonProperty("queriesSettings", jsonObject(
jsonProperty("resolution", "")
)),
jsonProperty("metricExpressions", jsonArray("resolution=Inf&(builtin:service.errors.total.rate:splitBy(\"dt.entity.service\"):sort(value(auto,descending)):limit(20)):limit(100):names"))
),
jsonObject(
jsonProperty("name", "Total calls"),
jsonProperty("tileType", "DATA_EXPLORER"),
jsonProperty("configured", true),
jsonProperty("bounds", jsonObject(
jsonProperty("top", 38),
jsonProperty("left", 38),
jsonProperty("width", 342),
jsonProperty("height", 304)
)),
jsonProperty("tileFilter", jsonObject(
)),
jsonProperty("isAutoRefreshDisabled", true),
jsonProperty("customName", "Total calls"),
jsonProperty("queries", jsonArray(
jsonObject(
jsonProperty("id", "A"),
jsonProperty("metric", "builtin:service.errors.total.successCount"),
jsonProperty("spaceAggregation", "SUM"),
jsonProperty("timeAggregation", "DEFAULT"),
jsonProperty("splitBy", jsonArray("dt.entity.service")),
jsonProperty("sortBy", "DESC"),
jsonProperty("sortByDimension", ""),
jsonProperty("filterBy", jsonObject(
jsonProperty("nestedFilters", jsonArray(
)),
jsonProperty("criteria", jsonArray(
))
)),
jsonProperty("limit", 20),
jsonProperty("rate", "NONE"),
jsonProperty("enabled", true)
),
jsonObject(
jsonProperty("id", "B"),
jsonProperty("metric", "builtin:service.errors.fourxx.successCount"),
jsonProperty("spaceAggregation", "SUM"),
jsonProperty("timeAggregation", "DEFAULT"),
jsonProperty("splitBy", jsonArray("dt.entity.service")),
jsonProperty("sortBy", "DESC"),
jsonProperty("sortByDimension", ""),
jsonProperty("filterBy", jsonObject(
jsonProperty("nestedFilters", jsonArray(
)),
jsonProperty("criteria", jsonArray(
))
)),
jsonProperty("limit", 20),
jsonProperty("rate", "NONE"),
jsonProperty("enabled", true)
),
jsonObject(
jsonProperty("id", "C"),
jsonProperty("metric", "builtin:service.errors.fivexx.successCount"),
jsonProperty("spaceAggregation", "SUM"),
jsonProperty("timeAggregation", "DEFAULT"),
jsonProperty("splitBy", jsonArray("dt.entity.service")),
jsonProperty("sortBy", "DESC"),
jsonProperty("sortByDimension", ""),
jsonProperty("filterBy", jsonObject(
jsonProperty("nestedFilters", jsonArray(
)),
jsonProperty("criteria", jsonArray(
))
)),
jsonProperty("limit", 20),
jsonProperty("rate", "NONE"),
jsonProperty("enabled", true)
)
)),
jsonProperty("visualConfig", jsonObject(
jsonProperty("type", "STACKED_AREA"),
jsonProperty("global", jsonObject(
jsonProperty("hideLegend", false)
)),
jsonProperty("rules", jsonArray(
jsonObject(
jsonProperty("matcher", "A:"),
jsonProperty("properties", jsonObject(
jsonProperty("color", "DEFAULT")
)),
jsonProperty("seriesOverrides", jsonArray(
))
),
jsonObject(
jsonProperty("matcher", "B:"),
jsonProperty("properties", jsonObject(
jsonProperty("color", "DEFAULT")
)),
jsonProperty("seriesOverrides", jsonArray(
))
),
jsonObject(
jsonProperty("matcher", "C:"),
jsonProperty("properties", jsonObject(
jsonProperty("color", "DEFAULT")
)),
jsonProperty("seriesOverrides", jsonArray(
))
)
)),
jsonProperty("axes", jsonObject(
jsonProperty("xAxis", jsonObject(
jsonProperty("displayName", ""),
jsonProperty("visible", true)
)),
jsonProperty("yAxes", jsonArray(jsonObject(
jsonProperty("displayName", ""),
jsonProperty("visible", true),
jsonProperty("min", "AUTO"),
jsonProperty("max", "AUTO"),
jsonProperty("position", "LEFT"),
jsonProperty("queryIds", jsonArray(
"A",
"B",
"C"
)),
jsonProperty("defaultAxis", true)
)))
)),
jsonProperty("heatmapSettings", jsonObject(
jsonProperty("yAxis", "VALUE")
)),
jsonProperty("singleValueSettings", jsonObject(
jsonProperty("showSparkLine", true)
)),
jsonProperty("thresholds", jsonArray(jsonObject(
jsonProperty("axisTarget", "LEFT"),
jsonProperty("rules", jsonArray(
jsonObject(
jsonProperty("color", "#7dc540")
),
jsonObject(
jsonProperty("color", "#f5d30f")
),
jsonObject(
jsonProperty("color", "#dc172a")
)
)),
jsonProperty("visible", true)
))),
jsonProperty("tableSettings", jsonObject(
jsonProperty("hiddenColumns", jsonArray(
))
)),
jsonProperty("graphChartSettings", jsonObject(
jsonProperty("connectNulls", false)
)),
jsonProperty("honeycombSettings", jsonObject(
jsonProperty("showHive", true),
jsonProperty("showLegend", true),
jsonProperty("showLabels", false)
))
)),
jsonProperty("queriesSettings", jsonObject(
jsonProperty("resolution", "")
)),
jsonProperty("metricExpressions", jsonArray("resolution=null&(builtin:service.errors.total.successCount:splitBy(\"dt.entity.service\"):sum:sort(value(sum,descending)):limit(20)):limit(100):names,(builtin:service.errors.fourxx.successCount:splitBy(\"dt.entity.service\"):sum:sort(value(sum,descending)):limit(20)):limit(100):names,(builtin:service.errors.fivexx.successCount:splitBy(\"dt.entity.service\"):sum:sort(value(sum,descending)):limit(20)):limit(100):names"))
),
jsonObject(
jsonProperty("name", "Total errors"),
jsonProperty("tileType", "DATA_EXPLORER"),
jsonProperty("configured", true),
jsonProperty("bounds", jsonObject(
jsonProperty("top", 38),
jsonProperty("left", 380),
jsonProperty("width", 342),
jsonProperty("height", 304)
)),
jsonProperty("tileFilter", jsonObject(
)),
jsonProperty("isAutoRefreshDisabled", true),
jsonProperty("customName", "Total errors"),
jsonProperty("queries", jsonArray(jsonObject(
jsonProperty("id", "A"),
jsonProperty("metric", "builtin:service.errors.total.count"),
jsonProperty("spaceAggregation", "SUM"),
jsonProperty("timeAggregation", "DEFAULT"),
jsonProperty("splitBy", jsonArray(
)),
jsonProperty("sortBy", "DESC"),
jsonProperty("sortByDimension", ""),
jsonProperty("filterBy", jsonObject(
jsonProperty("nestedFilters", jsonArray(
)),
jsonProperty("criteria", jsonArray(
))
)),
jsonProperty("limit", 20),
jsonProperty("rate", "NONE"),
jsonProperty("enabled", true)
))),
jsonProperty("visualConfig", jsonObject(
jsonProperty("type", "SINGLE_VALUE"),
jsonProperty("global", jsonObject(
jsonProperty("hideLegend", false)
)),
jsonProperty("rules", jsonArray(jsonObject(
jsonProperty("matcher", "A:"),
jsonProperty("properties", jsonObject(
jsonProperty("color", "DEFAULT")
)),
jsonProperty("seriesOverrides", jsonArray(
))
))),
jsonProperty("axes", jsonObject(
jsonProperty("xAxis", jsonObject(
jsonProperty("visible", true)
)),
jsonProperty("yAxes", jsonArray(
))
)),
jsonProperty("heatmapSettings", jsonObject(
jsonProperty("yAxis", "VALUE")
)),
jsonProperty("singleValueSettings", jsonObject(
jsonProperty("showTrend", false),
jsonProperty("showSparkLine", true),
jsonProperty("linkTileColorToThreshold", false)
)),
jsonProperty("thresholds", jsonArray(jsonObject(
jsonProperty("axisTarget", "LEFT"),
jsonProperty("rules", jsonArray(
jsonObject(
jsonProperty("color", "#7dc540")
),
jsonObject(
jsonProperty("color", "#f5d30f")
),
jsonObject(
jsonProperty("color", "#dc172a")
)
)),
jsonProperty("visible", true)
))),
jsonProperty("tableSettings", jsonObject(
jsonProperty("hiddenColumns", jsonArray(
))
)),
jsonProperty("graphChartSettings", jsonObject(
jsonProperty("connectNulls", false)
)),
jsonProperty("honeycombSettings", jsonObject(
jsonProperty("showHive", true),
jsonProperty("showLegend", true),
jsonProperty("showLabels", false)
))
)),
jsonProperty("queriesSettings", jsonObject(
jsonProperty("resolution", "")
)),
jsonProperty("metricExpressions", jsonArray(
"resolution=Inf&(builtin:service.errors.total.count:splitBy():sum:sort(value(sum,descending)):limit(20)):limit(100):names",
"resolution=null&(builtin:service.errors.total.count:splitBy():sum:sort(value(sum,descending)):limit(20))"
))
),
jsonObject(
jsonProperty("name", "Client side errors"),
jsonProperty("tileType", "DATA_EXPLORER"),
jsonProperty("configured", true),
jsonProperty("bounds", jsonObject(
jsonProperty("top", 38),
jsonProperty("left", 722),
jsonProperty("width", 342),
jsonProperty("height", 304)
)),
jsonProperty("tileFilter", jsonObject(
)),
jsonProperty("isAutoRefreshDisabled", true),
jsonProperty("customName", "Client & server errors by operation"),
jsonProperty("queries", jsonArray(jsonObject(
jsonProperty("id", "A"),
jsonProperty("metric", "builtin:service.errors.client.count"),
jsonProperty("spaceAggregation", "SUM"),
jsonProperty("timeAggregation", "DEFAULT"),
jsonProperty("splitBy", jsonArray(
)),
jsonProperty("sortBy", "DESC"),
jsonProperty("sortByDimension", ""),
jsonProperty("filterBy", jsonObject(
jsonProperty("nestedFilters", jsonArray(
)),
jsonProperty("criteria", jsonArray(
))
)),
jsonProperty("limit", 20),
jsonProperty("rate", "NONE"),
jsonProperty("enabled", true)
))),
jsonProperty("visualConfig", jsonObject(
jsonProperty("type", "SINGLE_VALUE"),
jsonProperty("global", jsonObject(
jsonProperty("hideLegend", false)
)),
jsonProperty("rules", jsonArray(jsonObject(
jsonProperty("matcher", "A:"),
jsonProperty("properties", jsonObject(
jsonProperty("color", "DEFAULT")
)),
jsonProperty("seriesOverrides", jsonArray(
))
))),
jsonProperty("axes", jsonObject(
jsonProperty("xAxis", jsonObject(
jsonProperty("visible", true)
)),
jsonProperty("yAxes", jsonArray(
))
)),
jsonProperty("heatmapSettings", jsonObject(
jsonProperty("yAxis", "VALUE")
)),
jsonProperty("singleValueSettings", jsonObject(
jsonProperty("showSparkLine", true)
)),
jsonProperty("thresholds", jsonArray(jsonObject(
jsonProperty("axisTarget", "LEFT"),
jsonProperty("rules", jsonArray(
jsonObject(
jsonProperty("color", "#7dc540")
),
jsonObject(
jsonProperty("color", "#f5d30f")
),
jsonObject(
jsonProperty("color", "#dc172a")
)
)),
jsonProperty("visible", true)
))),
jsonProperty("tableSettings", jsonObject(
jsonProperty("hiddenColumns", jsonArray(
))
)),
jsonProperty("graphChartSettings", jsonObject(
jsonProperty("connectNulls", false)
)),
jsonProperty("honeycombSettings", jsonObject(
jsonProperty("showHive", true),
jsonProperty("showLegend", true),
jsonProperty("showLabels", false)
))
)),
jsonProperty("queriesSettings", jsonObject(
jsonProperty("resolution", "")
)),
jsonProperty("metricExpressions", jsonArray(
"resolution=Inf&(builtin:service.errors.client.count:splitBy():sum:sort(value(sum,descending)):limit(20)):limit(100):names",
"resolution=null&(builtin:service.errors.client.count:splitBy():sum:sort(value(sum,descending)):limit(20))"
))
)
))
)))
.build());
}
}
resources:
name:
type: dynatrace:JsonDashboard
properties:
contents:
fn::toJSON:
dashboardMetadata:
name: Performance overview
shared: true
owner: Dynatrace
tags:
- performance
preset: true
hasConsistentColors: false
tiles:
- name: Performance
tileType: HEADER
configured: true
bounds:
top: 0
left: 38
width: 1026
height: 38
tileFilter: {}
isAutoRefreshDisabled: true
- name: Failure rate by service
tileType: DATA_EXPLORER
configured: true
bounds:
top: 342
left: 38
width: 342
height: 304
tileFilter: {}
isAutoRefreshDisabled: true
customName: Successful calls by service instance
queries:
- id: A
metric: builtin:service.errors.total.rate
spaceAggregation: AUTO
timeAggregation: DEFAULT
splitBy:
- dt.entity.service
sortBy: DESC
sortByDimension: ""
filterBy:
nestedFilters: []
criteria: []
limit: 20
rate: NONE
enabled: true
visualConfig:
type: TOP_LIST
global:
hideLegend: false
rules:
- matcher: 'A:'
properties:
color: DEFAULT
seriesOverrides: []
axes:
xAxis:
visible: true
yAxes: []
heatmapSettings:
yAxis: VALUE
singleValueSettings:
showSparkLine: true
thresholds:
- axisTarget: LEFT
rules:
- color: '#7dc540'
- color: '#f5d30f'
- color: '#dc172a'
visible: true
tableSettings:
hiddenColumns: []
graphChartSettings:
connectNulls: false
honeycombSettings:
showHive: true
showLegend: true
showLabels: false
queriesSettings:
resolution: ""
metricExpressions:
- resolution=Inf&(builtin:service.errors.total.rate:splitBy("dt.entity.service"):sort(value(auto,descending)):limit(20)):limit(100):names
- name: Total calls
tileType: DATA_EXPLORER
configured: true
bounds:
top: 38
left: 38
width: 342
height: 304
tileFilter: {}
isAutoRefreshDisabled: true
customName: Total calls
queries:
- id: A
metric: builtin:service.errors.total.successCount
spaceAggregation: SUM
timeAggregation: DEFAULT
splitBy:
- dt.entity.service
sortBy: DESC
sortByDimension: ""
filterBy:
nestedFilters: []
criteria: []
limit: 20
rate: NONE
enabled: true
- id: B
metric: builtin:service.errors.fourxx.successCount
spaceAggregation: SUM
timeAggregation: DEFAULT
splitBy:
- dt.entity.service
sortBy: DESC
sortByDimension: ""
filterBy:
nestedFilters: []
criteria: []
limit: 20
rate: NONE
enabled: true
- id: C
metric: builtin:service.errors.fivexx.successCount
spaceAggregation: SUM
timeAggregation: DEFAULT
splitBy:
- dt.entity.service
sortBy: DESC
sortByDimension: ""
filterBy:
nestedFilters: []
criteria: []
limit: 20
rate: NONE
enabled: true
visualConfig:
type: STACKED_AREA
global:
hideLegend: false
rules:
- matcher: 'A:'
properties:
color: DEFAULT
seriesOverrides: []
- matcher: 'B:'
properties:
color: DEFAULT
seriesOverrides: []
- matcher: 'C:'
properties:
color: DEFAULT
seriesOverrides: []
axes:
xAxis:
displayName: ""
visible: true
yAxes:
- displayName: ""
visible: true
min: AUTO
max: AUTO
position: LEFT
queryIds:
- A
- B
- C
defaultAxis: true
heatmapSettings:
yAxis: VALUE
singleValueSettings:
showSparkLine: true
thresholds:
- axisTarget: LEFT
rules:
- color: '#7dc540'
- color: '#f5d30f'
- color: '#dc172a'
visible: true
tableSettings:
hiddenColumns: []
graphChartSettings:
connectNulls: false
honeycombSettings:
showHive: true
showLegend: true
showLabels: false
queriesSettings:
resolution: ""
metricExpressions:
- resolution=null&(builtin:service.errors.total.successCount:splitBy("dt.entity.service"):sum:sort(value(sum,descending)):limit(20)):limit(100):names,(builtin:service.errors.fourxx.successCount:splitBy("dt.entity.service"):sum:sort(value(sum,descending)):limit(20)):limit(100):names,(builtin:service.errors.fivexx.successCount:splitBy("dt.entity.service"):sum:sort(value(sum,descending)):limit(20)):limit(100):names
- name: Total errors
tileType: DATA_EXPLORER
configured: true
bounds:
top: 38
left: 380
width: 342
height: 304
tileFilter: {}
isAutoRefreshDisabled: true
customName: Total errors
queries:
- id: A
metric: builtin:service.errors.total.count
spaceAggregation: SUM
timeAggregation: DEFAULT
splitBy: []
sortBy: DESC
sortByDimension: ""
filterBy:
nestedFilters: []
criteria: []
limit: 20
rate: NONE
enabled: true
visualConfig:
type: SINGLE_VALUE
global:
hideLegend: false
rules:
- matcher: 'A:'
properties:
color: DEFAULT
seriesOverrides: []
axes:
xAxis:
visible: true
yAxes: []
heatmapSettings:
yAxis: VALUE
singleValueSettings:
showTrend: false
showSparkLine: true
linkTileColorToThreshold: false
thresholds:
- axisTarget: LEFT
rules:
- color: '#7dc540'
- color: '#f5d30f'
- color: '#dc172a'
visible: true
tableSettings:
hiddenColumns: []
graphChartSettings:
connectNulls: false
honeycombSettings:
showHive: true
showLegend: true
showLabels: false
queriesSettings:
resolution: ""
metricExpressions:
- resolution=Inf&(builtin:service.errors.total.count:splitBy():sum:sort(value(sum,descending)):limit(20)):limit(100):names
- resolution=null&(builtin:service.errors.total.count:splitBy():sum:sort(value(sum,descending)):limit(20))
- name: Client side errors
tileType: DATA_EXPLORER
configured: true
bounds:
top: 38
left: 722
width: 342
height: 304
tileFilter: {}
isAutoRefreshDisabled: true
customName: Client & server errors by operation
queries:
- id: A
metric: builtin:service.errors.client.count
spaceAggregation: SUM
timeAggregation: DEFAULT
splitBy: []
sortBy: DESC
sortByDimension: ""
filterBy:
nestedFilters: []
criteria: []
limit: 20
rate: NONE
enabled: true
visualConfig:
type: SINGLE_VALUE
global:
hideLegend: false
rules:
- matcher: 'A:'
properties:
color: DEFAULT
seriesOverrides: []
axes:
xAxis:
visible: true
yAxes: []
heatmapSettings:
yAxis: VALUE
singleValueSettings:
showSparkLine: true
thresholds:
- axisTarget: LEFT
rules:
- color: '#7dc540'
- color: '#f5d30f'
- color: '#dc172a'
visible: true
tableSettings:
hiddenColumns: []
graphChartSettings:
connectNulls: false
honeycombSettings:
showHive: true
showLegend: true
showLabels: false
queriesSettings:
resolution: ""
metricExpressions:
- resolution=Inf&(builtin:service.errors.client.count:splitBy():sum:sort(value(sum,descending)):limit(20)):limit(100):names
- resolution=null&(builtin:service.errors.client.count:splitBy():sum:sort(value(sum,descending)):limit(20))
pulumi {
required_providers {
dynatrace = {
source = "pulumi/dynatrace"
}
}
}
resource "dynatrace_jsondashboard" "name" {
contents = jsonencode({
"dashboardMetadata" = {
"name" = "Performance overview"
"shared" = true
"owner" = "Dynatrace"
"tags" = ["performance"]
"preset" = true
"hasConsistentColors" = false
}
"tiles" = [{
"name" = "Performance"
"tileType" = "HEADER"
"configured" = true
"bounds" = {
"top" = 0
"left" = 38
"width" = 1026
"height" = 38
}
"tileFilter" = {}
"isAutoRefreshDisabled" = true
}, {
"name" = "Failure rate by service"
"tileType" = "DATA_EXPLORER"
"configured" = true
"bounds" = {
"top" = 342
"left" = 38
"width" = 342
"height" = 304
}
"tileFilter" = {}
"isAutoRefreshDisabled" = true
"customName" = "Successful calls by service instance"
"queries" = [{
"id" = "A"
"metric" = "builtin:service.errors.total.rate"
"spaceAggregation" = "AUTO"
"timeAggregation" = "DEFAULT"
"splitBy" = ["dt.entity.service"]
"sortBy" = "DESC"
"sortByDimension" = ""
"filterBy" = {
"nestedFilters" = []
"criteria" = []
}
"limit" = 20
"rate" = "NONE"
"enabled" = true
}]
"visualConfig" = {
"type" = "TOP_LIST"
"global" = {
"hideLegend" = false
}
"rules" = [{
"matcher" = "A:"
"properties" = {
"color" = "DEFAULT"
}
"seriesOverrides" = []
}]
"axes" = {
"xAxis" = {
"visible" = true
}
"yAxes" = []
}
"heatmapSettings" = {
"yAxis" = "VALUE"
}
"singleValueSettings" = {
"showSparkLine" = true
}
"thresholds" = [{
"axisTarget" = "LEFT"
"rules" = [{
"color" = "#7dc540"
}, {
"color" = "#f5d30f"
}, {
"color" = "#dc172a"
}]
"visible" = true
}]
"tableSettings" = {
"hiddenColumns" = []
}
"graphChartSettings" = {
"connectNulls" = false
}
"honeycombSettings" = {
"showHive" = true
"showLegend" = true
"showLabels" = false
}
}
"queriesSettings" = {
"resolution" = ""
}
"metricExpressions" = ["resolution=Inf&(builtin:service.errors.total.rate:splitBy(\"dt.entity.service\"):sort(value(auto,descending)):limit(20)):limit(100):names"]
}, {
"name" = "Total calls"
"tileType" = "DATA_EXPLORER"
"configured" = true
"bounds" = {
"top" = 38
"left" = 38
"width" = 342
"height" = 304
}
"tileFilter" = {}
"isAutoRefreshDisabled" = true
"customName" = "Total calls"
"queries" = [{
"id" = "A"
"metric" = "builtin:service.errors.total.successCount"
"spaceAggregation" = "SUM"
"timeAggregation" = "DEFAULT"
"splitBy" = ["dt.entity.service"]
"sortBy" = "DESC"
"sortByDimension" = ""
"filterBy" = {
"nestedFilters" = []
"criteria" = []
}
"limit" = 20
"rate" = "NONE"
"enabled" = true
}, {
"id" = "B"
"metric" = "builtin:service.errors.fourxx.successCount"
"spaceAggregation" = "SUM"
"timeAggregation" = "DEFAULT"
"splitBy" = ["dt.entity.service"]
"sortBy" = "DESC"
"sortByDimension" = ""
"filterBy" = {
"nestedFilters" = []
"criteria" = []
}
"limit" = 20
"rate" = "NONE"
"enabled" = true
}, {
"id" = "C"
"metric" = "builtin:service.errors.fivexx.successCount"
"spaceAggregation" = "SUM"
"timeAggregation" = "DEFAULT"
"splitBy" = ["dt.entity.service"]
"sortBy" = "DESC"
"sortByDimension" = ""
"filterBy" = {
"nestedFilters" = []
"criteria" = []
}
"limit" = 20
"rate" = "NONE"
"enabled" = true
}]
"visualConfig" = {
"type" = "STACKED_AREA"
"global" = {
"hideLegend" = false
}
"rules" = [{
"matcher" = "A:"
"properties" = {
"color" = "DEFAULT"
}
"seriesOverrides" = []
}, {
"matcher" = "B:"
"properties" = {
"color" = "DEFAULT"
}
"seriesOverrides" = []
}, {
"matcher" = "C:"
"properties" = {
"color" = "DEFAULT"
}
"seriesOverrides" = []
}]
"axes" = {
"xAxis" = {
"displayName" = ""
"visible" = true
}
"yAxes" = [{
"displayName" = ""
"visible" = true
"min" = "AUTO"
"max" = "AUTO"
"position" = "LEFT"
"queryIds" = ["A", "B", "C"]
"defaultAxis" = true
}]
}
"heatmapSettings" = {
"yAxis" = "VALUE"
}
"singleValueSettings" = {
"showSparkLine" = true
}
"thresholds" = [{
"axisTarget" = "LEFT"
"rules" = [{
"color" = "#7dc540"
}, {
"color" = "#f5d30f"
}, {
"color" = "#dc172a"
}]
"visible" = true
}]
"tableSettings" = {
"hiddenColumns" = []
}
"graphChartSettings" = {
"connectNulls" = false
}
"honeycombSettings" = {
"showHive" = true
"showLegend" = true
"showLabels" = false
}
}
"queriesSettings" = {
"resolution" = ""
}
"metricExpressions" = ["resolution=null&(builtin:service.errors.total.successCount:splitBy(\"dt.entity.service\"):sum:sort(value(sum,descending)):limit(20)):limit(100):names,(builtin:service.errors.fourxx.successCount:splitBy(\"dt.entity.service\"):sum:sort(value(sum,descending)):limit(20)):limit(100):names,(builtin:service.errors.fivexx.successCount:splitBy(\"dt.entity.service\"):sum:sort(value(sum,descending)):limit(20)):limit(100):names"]
}, {
"name" = "Total errors"
"tileType" = "DATA_EXPLORER"
"configured" = true
"bounds" = {
"top" = 38
"left" = 380
"width" = 342
"height" = 304
}
"tileFilter" = {}
"isAutoRefreshDisabled" = true
"customName" = "Total errors"
"queries" = [{
"id" = "A"
"metric" = "builtin:service.errors.total.count"
"spaceAggregation" = "SUM"
"timeAggregation" = "DEFAULT"
"splitBy" = []
"sortBy" = "DESC"
"sortByDimension" = ""
"filterBy" = {
"nestedFilters" = []
"criteria" = []
}
"limit" = 20
"rate" = "NONE"
"enabled" = true
}]
"visualConfig" = {
"type" = "SINGLE_VALUE"
"global" = {
"hideLegend" = false
}
"rules" = [{
"matcher" = "A:"
"properties" = {
"color" = "DEFAULT"
}
"seriesOverrides" = []
}]
"axes" = {
"xAxis" = {
"visible" = true
}
"yAxes" = []
}
"heatmapSettings" = {
"yAxis" = "VALUE"
}
"singleValueSettings" = {
"showTrend" = false
"showSparkLine" = true
"linkTileColorToThreshold" = false
}
"thresholds" = [{
"axisTarget" = "LEFT"
"rules" = [{
"color" = "#7dc540"
}, {
"color" = "#f5d30f"
}, {
"color" = "#dc172a"
}]
"visible" = true
}]
"tableSettings" = {
"hiddenColumns" = []
}
"graphChartSettings" = {
"connectNulls" = false
}
"honeycombSettings" = {
"showHive" = true
"showLegend" = true
"showLabels" = false
}
}
"queriesSettings" = {
"resolution" = ""
}
"metricExpressions" = ["resolution=Inf&(builtin:service.errors.total.count:splitBy():sum:sort(value(sum,descending)):limit(20)):limit(100):names", "resolution=null&(builtin:service.errors.total.count:splitBy():sum:sort(value(sum,descending)):limit(20))"]
}, {
"name" = "Client side errors"
"tileType" = "DATA_EXPLORER"
"configured" = true
"bounds" = {
"top" = 38
"left" = 722
"width" = 342
"height" = 304
}
"tileFilter" = {}
"isAutoRefreshDisabled" = true
"customName" = "Client & server errors by operation"
"queries" = [{
"id" = "A"
"metric" = "builtin:service.errors.client.count"
"spaceAggregation" = "SUM"
"timeAggregation" = "DEFAULT"
"splitBy" = []
"sortBy" = "DESC"
"sortByDimension" = ""
"filterBy" = {
"nestedFilters" = []
"criteria" = []
}
"limit" = 20
"rate" = "NONE"
"enabled" = true
}]
"visualConfig" = {
"type" = "SINGLE_VALUE"
"global" = {
"hideLegend" = false
}
"rules" = [{
"matcher" = "A:"
"properties" = {
"color" = "DEFAULT"
}
"seriesOverrides" = []
}]
"axes" = {
"xAxis" = {
"visible" = true
}
"yAxes" = []
}
"heatmapSettings" = {
"yAxis" = "VALUE"
}
"singleValueSettings" = {
"showSparkLine" = true
}
"thresholds" = [{
"axisTarget" = "LEFT"
"rules" = [{
"color" = "#7dc540"
}, {
"color" = "#f5d30f"
}, {
"color" = "#dc172a"
}]
"visible" = true
}]
"tableSettings" = {
"hiddenColumns" = []
}
"graphChartSettings" = {
"connectNulls" = false
}
"honeycombSettings" = {
"showHive" = true
"showLegend" = true
"showLabels" = false
}
}
"queriesSettings" = {
"resolution" = ""
}
"metricExpressions" = ["resolution=Inf&(builtin:service.errors.client.count:splitBy():sum:sort(value(sum,descending)):limit(20)):limit(100):names", "resolution=null&(builtin:service.errors.client.count:splitBy():sum:sort(value(sum,descending)):limit(20))"]
}]
})
}
Create JsonDashboard Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new JsonDashboard(name: string, args: JsonDashboardArgs, opts?: CustomResourceOptions);@overload
def JsonDashboard(resource_name: str,
args: JsonDashboardArgs,
opts: Optional[ResourceOptions] = None)
@overload
def JsonDashboard(resource_name: str,
opts: Optional[ResourceOptions] = None,
contents: Optional[str] = None,
link_id: Optional[str] = None)func NewJsonDashboard(ctx *Context, name string, args JsonDashboardArgs, opts ...ResourceOption) (*JsonDashboard, error)public JsonDashboard(string name, JsonDashboardArgs args, CustomResourceOptions? opts = null)
public JsonDashboard(String name, JsonDashboardArgs args)
public JsonDashboard(String name, JsonDashboardArgs args, CustomResourceOptions options)
type: dynatrace:JsonDashboard
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "dynatrace_jsondashboard" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args JsonDashboardArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args JsonDashboardArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args JsonDashboardArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args JsonDashboardArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args JsonDashboardArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var jsonDashboardResource = new Dynatrace.JsonDashboard("jsonDashboardResource", new()
{
Contents = "string",
LinkId = "string",
});
example, err := dynatrace.NewJsonDashboard(ctx, "jsonDashboardResource", &dynatrace.JsonDashboardArgs{
Contents: pulumi.String("string"),
LinkId: pulumi.String("string"),
})
resource "dynatrace_jsondashboard" "jsonDashboardResource" {
contents = "string"
link_id = "string"
}
var jsonDashboardResource = new JsonDashboard("jsonDashboardResource", JsonDashboardArgs.builder()
.contents("string")
.linkId("string")
.build());
json_dashboard_resource = dynatrace.JsonDashboard("jsonDashboardResource",
contents="string",
link_id="string")
const jsonDashboardResource = new dynatrace.JsonDashboard("jsonDashboardResource", {
contents: "string",
linkId: "string",
});
type: dynatrace:JsonDashboard
properties:
contents: string
linkId: string
JsonDashboard Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The JsonDashboard resource accepts the following input properties:
Outputs
All input properties are implicitly available as output properties. Additionally, the JsonDashboard resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing JsonDashboard Resource
Get an existing JsonDashboard resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: JsonDashboardState, opts?: CustomResourceOptions): JsonDashboard@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
contents: Optional[str] = None,
link_id: Optional[str] = None) -> JsonDashboardfunc GetJsonDashboard(ctx *Context, name string, id IDInput, state *JsonDashboardState, opts ...ResourceOption) (*JsonDashboard, error)public static JsonDashboard Get(string name, Input<string> id, JsonDashboardState? state, CustomResourceOptions? opts = null)public static JsonDashboard get(String name, Output<String> id, JsonDashboardState state, CustomResourceOptions options)resources: _: type: dynatrace:JsonDashboard get: id: ${id}import {
to = dynatrace_jsondashboard.example
id = "${id}"
}
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
Package Details
- Repository
- dynatrace pulumiverse/pulumi-dynatrace
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
dynatraceTerraform Provider.
published on Tuesday, Jun 9, 2026 by Pulumiverse