Unified analysis reference

  • Reference
  • 34-min read
  • Published May 19, 2022

This is a general description of the unified analysis extension YAML file and ways to create custom visualizations and configure cards, dashboards, and injections.

Details settings

To customize the details screen, start with the detailsSettings and specify the types of information to be included on a unified analysis page. This enables you to customize the page to show all of the data points, charts, and visuals that are most relevant and beneficial to you.

detailsSettings:
staticContent:
showProblems: true
showProperties: true
showTags: true
showGlobalFilter: true
showAddTag: true
layout:
autoGenerate: false
cards:
- key: cpu_mem
type: CHART_GROUP
- key: disks
type: ENTITIES_LIST

staticContent

Enable or disable static elements like problems, properties, tags, global filter and Add tag option.

FieldTypeDescriptionRequired
showProblemsbooleanIf true, the details screen shows the problem card.required
showPropertiesbooleanIf true, the details screem shows the properties card.required
showTagsbooleanIf true, the details screem shows the entity tags.required
showFilterBarbooleanIf true, the details screen shows the filter bar.required
showAddTagbooleanIf true, the details screen shows the Add tag option.required

layout

Reference cards that should be shown on the screen (like chart groups or entity lists) or use the automatically generated screen layout.

FieldTypeDescriptionRequired
autoGeneratebooleanIf true, the screen content is automatically generated.required
cardsenumPossible values for type field: CHART_GROUP, ENTITIES_LIST, EVENTS, LOGS, MESSAGE, METRIC_TABLE, INJECTIONS, BREAK_LINE, HEALTH_CARD, CARD_GROUP.optional

Details injections

The detailsInjections field defines injections for the entity details page. This information can be used to better evaluate user experience and also help with root-cause analysis.

Injections must be supported by the screen—the layout needs to include an injected cards placeholder.

detailsInjections:
- type: CHART_GROUP
entitySelectorTemplate: type(custom:host), toRelationship.sameAs($(entityConditions))
key: injectedChartGroups
- type: ENTITIES_LIST
key: injectedList
width: HALF_SIZE
- type: EVENTS
key: injectedEvents
width: FULL_SIZE
FieldTypeDescriptionRequired
typeenumDefines the type of card available to inject. Possible values: CHART_GROUP, ENTITIES_LIST, EVENTS, LOGS, MESSAGE, HEALTH_CARD, CARD_GROUP, METRIC_TABLE.required
keyStringThe unique key of the card, which is used to reference desired card configuration.required
entitySelectorTemplateStringEntity selector pointing to related entities.

It can serve multiple purposes—selecting the entity where the chart will be displayed and filtering them based on certain rules or relating entities. It is used in conjunction with entityType to further refine which entities are applicable for the card. For example, if entityType is HOST, you can use entitySelectorTemplate to show the card only for hosts using a certain operating system.

$entityConditions acts as a dynamic placeholder, adapting to the context in which the card appears. For example, when the card is displayed on a page dedicated to a specific host, $entityConditions will automatically adjust to conditions applicable to that host.

For example, when the card with the following configuration is displayed on the host page.

"entitySelectorTemplate": "type(NETWORK_INTERFACE) AND fromRelationships.isNetworkInterfaceOf($(entityConditions))"

The $(entityConditions) placeholder will be automatically replaced to point to the specific host entity.

"entitySelectorTemplate": "type(NETWORK_INTERFACE) AND fromRelationships.isNetworkInterfaceOf(type(HOST) AND entityId(HOST-<id>))"
optional
widthenumA value that determines how much vertical space the card is taking. Possible values: HALF_SIZE, FULL_SIZE.optional

Details filters

The detailsFilter field defines filters for the entity details screen. It enables you to customize the page to show only the data you want to see. It automatically displays metric dimension filters if there are any dimension splits on the screen (chart or metric table). To display only metric dimension filters, define it as empty (detailsFilters: {}).

detailsFilters:
relationships:
- type(HOST_GROUP), toRelationship.isInstanceOf($(entityConditions))
- type(AZURE_REGION), fromRelationship.isSiteOf($(entityConditions))
entityFilters:
- displayName: filters
filters:
- type: entityName
displayName: name
freeText: false
modifier: contains
defaultSearch: true
distinct: false
entityTypes:
- my:interface

relationships

You can enable filtering by configuring the relationship between screen entity type and related entity type. For example, filter process list by host name:

relationships:
- type(HOST) AND toRelationship.isProcessOf($(entityConditions))

You can also configure the filtering on multiple levels. For example, filter the processes by host group name:

relationships:
- type(HOST) AND toRelationship.isProcessOf($(entityConditions))
- type(HOST) AND fromRelationship.isInstanceOf(type(HOST_GROUP))

entityFilters

The block that defines the groups of filters (these are displayed slightly grayed out in the filtering list).

FieldTypeDescriptionRequired
filtersArrayThe actual filters that are part of this group.required
typeStringMust reference an attribute of the entity you are filtering. Note: every entity has entityName as a default attribute.required
displayNameStringHow this filter is labelled within the web UI.required
freeTextbooleanIf true, the user can freely type text; otherwise, they must select from a list of suggestions. Note: only default attributes such as entityName are capable of offering list of suggestions.required
modifierbooleanWhen freeText is true, this defines how the text should be matched against the attribute. When freeText is false, this must be omitted. Note: All non-default attributes must match as equals regardless of this option.optional
defaultSearchbooleanIf true, if the user starts typing without selecting a filter first, this filter is selected by default. Only one filter within the filtering block may have this enabled.optional
distinctbooleanIf true, only one instance of this filter can be applied.required
entityTypesArrayA mandatory list of entity types that this filter applies to. If you omit this, your filtering bar just shows a spinning wheel because of the incomplete definition.optional

List settings

The listSettings section enables you to customize the list view of the unified analysis page. You can change the selection and order of columns, how the list is sorted, and the number of rows to display.

listSettings:
staticContent:
showGlobalFilter: true
header:
title: My hosts
description: My hosts list
icon: host
layout:
autoGenerate: false
cards:
- type: CHART_GROUP
key: chart
- type: ENTITIES_LIST
key: entitiesList
- type: INJECTIONS

staticContent required

Enable or disable static elements like problems, properties, tags, global filter, and the Add tag option.

FieldTypeDescriptionRequired
showProblemsbooleanIf true, the details screen shows the problem card.optional
showPropertiesbooleanIf true, the details screem shows the properties card.optional
showTagsbooleanIf true, the details screem shows the entity tags.optional
showGlobalFilterbooleanIf true, the details screen shows the filter bar.required
showAddTagbooleanIf true, the details screen shows the Add tag option.optional
headerObjectThe definition of the page header.optional
breadcrumbsArrayA list of breadcrumbs leading to the page.optional
hideDefaultBreadcrumbbooleanIf true, the default breadcrumb for the current page is hidden.optional

layout required

Reference cards that should be shown on the screen (like chart groups or entity lists) or use the automatically generated screen layout.

FieldTypeDescriptionRequired
autoGeneratebooleanIf true, the screen content is automatically generated.required
cardsenumPossible values for type field: CHART_GROUP, ENTITIES_LIST, MESSAGE, INJECTIONS, BREAK_LINE.optional

List injections

The listInjections field defines injections for entity details screen. Injections must be supported by the screen—the layout needs to include an injected cards placeholder.

listInjections:
- type: CHART_GROUP
key: injectedChartGroups
- type: ENTITIES_LIST
key: injectedList
width: HALF_SIZE
FieldTypeDescriptionRequired
typeenumDefines the type of card available to inject. Possible values: CHART_GROUP, ENTITIES_LIST, MESSAGE, METRIC_TABLE.required
keyStringThe unique key of the card, which is used to reference desired card configuration.required

List filters

The listFilters field defines filters on the list page.

listFilters:
relationships:
- type(HOST_GROUP), toRelationship.isInstanceOf($(entityConditions))
- type(AZURE_REGION), fromRelationship.isSiteOf($(entityConditions))
entityFilters:
- displayName: filters
filters:
- type: entityName
entityTypes:
- HOST_GROUP
- AZURE_REGION
freeText: false
displayName: name
distinct: true

relationships

You can enable filtering by configuring the relationship between screen entity type and related entity type. For example, filter process list by host name:

relationships:
- type(HOST) AND toRelationship.isProcessOf($(entityConditions))

You can also configure the filtering on multiple levels. For example, filter the processes by host group name:

relationships:
- type(HOST) AND toRelationship.isProcessOf($(entityConditions))
- type(HOST) AND fromRelationship.isInstanceOf(type(HOST_GROUP))

entityFilters

The list of entity filters. For generic entities, the only filter types with suggestions are entityName, tag, healthState, and ipAddress / dt.ip_addresses. Any custom attributes must be set to freeText: true with modifier: equals. There are no suggestions supported, so you must type the exact value to filter.

FieldTypeDescriptionRequired
filtersArrayThe actual filters that are part of this group.required
typeStringMust reference an attribute of the entity you are filtering. Note: every entity has entityName as a default attribute.required
displayNameStringHow this filter is labelled within the web UI.required
freeTextbooleanIf true, the user can freely type text; otherwise, they must select from a list of suggestions. Note: only default attributes such as entityName are capable of offering list of suggestions.required
modifierbooleanWhen freeText is true, this defines how the text should be matched against the attribute. When freeText is false, this must be omitted. Note: All non-default attributes must match as equals regardless of this option.optional
defaultSearchbooleanIf true, if the user starts typing without selecting a filter first, this filter is selected by default. Only one filter within the filtering block may have this enabled.optional
distinctbooleanIf true, only one instance of this filter can be applied.required
entityTypesArrayA mandatory list of entity types that this filter applies to. If you omit this, your filtering bar just shows a spinning wheel because of the incomplete definition.optional

Properties card

The propertiesCard field displays the entity properties that are shown on the card as key-value pairs. By default, all available attribute properties are displayed.

propertiesCard:
properties:
- type: RELATION
relation:
entitySelectorTemplate: NOT VALIDATED IN SCHEMA
displayName: default
- type: ATTRIBUTE
attribute:
key: attribute
displayName: Attribute

properties required

Use this configuration to specify the properties card.

FieldTypeDescriptionRequired
typeenumDefines the type of property. Possible values: RELATION, ATTRIBUTE.optional

RELATION

Enables you to specify the relation to the specific entity.

FieldTypeDescriptionRequired
entitySelectorTemplateStringAn entity selector that is used to retrieve the selected entities.

It can serve multiple purposes—selecting the entity where the chart will be displayed and filtering them based on certain rules or relating entities. It is used in conjunction with entityType to further refine which entities are applicable for the card. For example, if entityType is HOST, you can use entitySelectorTemplate to show the card only for hosts using a certain operating system.

$entityConditions acts as a dynamic placeholder, adapting to the context in which the card appears. For example, when the card is displayed on a page dedicated to a specific host, $entityConditions will automatically adjust to conditions applicable to that host.

For example, when the card with the following configuration is displayed on the host page.

"entitySelectorTemplate": "type(NETWORK_INTERFACE) AND fromRelationships.isNetworkInterfaceOf($(entityConditions))"

The $(entityConditions) placeholder will be automatically replaced to point to the specific host entity.

"entitySelectorTemplate": "type(NETWORK_INTERFACE) AND fromRelationships.isNetworkInterfaceOf(type(HOST) AND entityId(HOST-<id>))"
required
displayNameStringThe name of the relation.required
fallbackMessageStringDisplays additional message if no entity is found. By default, the whole property is hidden.optional

ATTRIBUTE

Enables you to overwrite attribute display options.

FieldTypeDescriptionRequired
keyStringUsed to reference the desired attribute.required
displayNameStringThe name of the attribute.optional

Chart group cards

The chart group cards enable you to visualize the specified metrics in dedicated charts.

  • The metricSelector expression specifies the metrics your chart is based on. For more information, see Metrics API - Metric selector. The examples below use simple metric selector expressions referring directly to the metric keys.
chartsCards:
- key: chartGroup
conditions:
- NOT VALIDATED IN SCHEMA
numberOfVisibleCharts: 2
charts:
- displayName: Chart
conditions:
- NOT VALIDATED IN SCHEMA
visualizationType: GRAPH_CHART
graphChartConfig:
visualization:
themeColor: DEFAULT
seriesType: LINE
metrics:
- metricSelector: NOT VALIDATED IN SCHEMA
- metricSelector: builtin:host.cpu.usage:avg
visualization:
themeColor: DEFAULT
seriesType: LINE
- displayName: Chart2
visualizationType: PIE_CHART
pieChartConfig:
metric:
metricSelector: NOT VALIDATED IN SCHEMA
defaultAggregation: AVG
showLegend: true
themeColor: ORANGE
- displayName: Chart3
visualizationType: SINGLE_VALUE
singleValueConfig:
metric:
metricSelector: NOT VALIDATED IN SCHEMA
displayName: Single value
defaultAggregation: COUNT
showSparkline: true
showTrend: true
FieldTypeDescriptionRequired
keyStringThe unique key of the card, which is used to reference desired card configurationrequired
conditionsArrayDefines the conditions that need to be fulfilled for the chart group card to be visible.optional
numberOfVisibleChartsIntegerThe number of charts that are visible on the unified analysis page.required
modeenumDefines the chart group behavior and interactivity. Possile values: NORMAL, STATIC.1required
1

NORMAL mode enables you to interact with the charts (view different data points or zoom in/out). Charts with STATIC mode are presented in a fixed, restricted manner.

charts

FieldTypeDescriptionRequired
displayNameStringThe title of the card.required
conditionsArrayDefines the conditions that need to be fulfilled for the chart group card to be visible.optional

visualizationType

The visualizationType defines the type for your chart: a graph chart GRAPH_CHART, a pie chart PIE_CHART, or a single value SINGLE_VALUE. If you don't specify the visualization type, the graph chart is rendered by default.

GRAPH_CHART

FieldTypeDescriptionRequired
visualizationenumEnables you to define a theme color, and series type (COLUMN, LINE or AREA). You can also enable showing the axis legend by setting the showLegend flag to true.required
metricsArrayDefines how to retrieve data for a single line in the chart.required
thresholdsArrayDefines thresholds after which the background of the chart will change the color to the selected one.optional
metricSelector

A metric selector expression for a dedicated metric line.

FieldTypeDescriptionRequired
visualizationenumEnables you to define a theme color, and series type (COLUMN, LINE or AREA). You can also enable showing the axis legend by setting the showLegend flag to true.optional

PIE_CHART

FieldTypeDescriptionRequired
metricObjectDefines how to retrieve data for the pie chart.required
defaultAggregationenumDefines default aggregation of the chart timeseries. If not defined or selected one is not supported, it is deduced from metrics metadata.optional

SINGLE_VALUE

FieldTypeDescriptionRequired
metricObjectDefines how to retrieve data for the single chart.required
displayNameStringDefines the name of the value.optional
defaultAggregationenumDefines default aggregation of the chart timeseries. If not defined or selected one is not supported, it is deduced from metrics metadata.optional
showSparklinebooleanIf true, the sparkline is visible.optional
showTrendbooleanIf true, the trend is visible.optional
thresholdsArrayDefines thresholds after which the background of the chart will change the color to the selected one.optional
foldTransformationenumDefines transformation method, which folds data into single value. Possible values: AUTO, LAST_VALUE, MAX, MIN, SUM, MEDIAN, VALUE, PERCENTILE_10, PERCENTILE_75, PERCENTILE_90.optional

List of available conditions

ConditionName|param1key=param1value|param2key=param2value
ConditionParametersMinimum schema versionDescription
demoNot applicable224Used to demonstrate the conditions feature.
isSaaSNot applicable233Indicates if the server deployment type is SaaS.
featureFlagFeature flag key233Validates the status of a specific feature flag.
entityAttributeDynamic parameters1231Checks if the screen's monitored entity possesses certain attributes with specified values or if they exist with any value.
relatedEntityentitySelectorTemplate230Validates the existence of a specified related entity in the environment.
extensionConfiguredextensionId, aboveOrEqualVersion, belowOrEqualVersion, featureSets, activatedOnHost2243Validates the presence of a specified extension in the environment, considering other parameters.
uiPermissionSpecified UI permision243Confirms if you possess a specified permission (for example, CONFIG_WRITE).
isActiveNot applicable246Determines if the screen's monitored entity is active.
serviceTypeType of the service246Confirms the type of the service. The scope limited to METype.SERVICE details screens.
typeExistsType of the service248Checks if a specified METype service is present in the environment.
platformNot applicable254Checks 3rd generation compatibility.
metricAvailablemetric3, lastWrittenWithinDays4256Verifies if a given metric key has associated metadata and the last time it was updated.
1

When parameters are provided with a specific value, they are formatted as key=value. The system will verify the exact match of this key-value pair. If only the key is provided without any accompanying value, the system will simply check if that key is present using the .exists() method.

2

The extension is configured to operate on the current host.

3

Metric key

4

The specified number of days within which the system checks the most recent updates.

Entities list cards

The entities list card displays other entities that are related to the focused entity. The YAML file below lists all Synology disks mapped to an instance of DiskStation Manager on which the details screen focuses.

  • The entitySelectorTemplate expression specifies the entities to list on the card. For more information, see Environment API v2 - Entity selector.
  • The expression type(syn:disk),fromRelationships.runsOn($(entityConditions)) lists the entities of type syn:disk that have a relationship of from direction and runsOn type to the syn:diskmanager represented via the $(entityConditions) placeholder that stands for a focused entity.
entitiesListCards:
- key: disks
displayName: Synology disks
pageSize: 10
displayCharts: false
entitySelectorTemplate: "type(syn:disk),fromRelationships.runsOn($(entityConditions))"
displayIcons: true
enableDetailsExpandability: true
numberOfVisibleCharts: 2
columns:
- type: ATTRIBUTE
attribute:
key: some_attribute
displayName: Some attribute
- type: RELATION
relation:
entitySelectorTemplate: type("syn:partition"),fromRelationship.isChildOf($(entityConditions))
displayName: Partitions
displayAmount: false
fallbackMessage: "no partition"
filtering:
relationships:
- type(syn:partition), fromRelationship.isChildOf($(entityConditions))
entityFilters:
- displayName: filters
filters:
- type: entityName
displayName: name
freeText: true
modifier: contains
defaultSearch: true
distinct: false
entityTypes:
- my:interface
- type: entityName
displayName: Partition name
freeText: true
modifier: contains
defaultSearch: false
distinct: false
entityTypes:
- syn:partition
FieldTypeDescriptionRequired
keyStringThe unique key of the card, which is used to reference desired card configuration.required
displayNameStringThe card title.optional
pageSizeIntegerThe number of rows visible on a single page.required
displayChartsbooleanIf true, charts with aggregated data appears above table.required
entitySelectorTemplateStringThe entity selector is used to find entities that are to be displayed on the list.

It can serve multiple purposes—selecting the entity where the chart will be displayed and filtering them based on certain rules or relating entities. It is used in conjunction with entityType to further refine which entities are applicable for the card. For example, if entityType is HOST, you can use entitySelectorTemplate to show the card only for hosts using a certain operating system.

$entityConditions acts as a dynamic placeholder, adapting to the context in which the card appears. For example, when the card is displayed on a page dedicated to a specific host, $entityConditions will automatically adjust to conditions applicable to that host.

For example, when the card with the following configuration is displayed on the host page.

"entitySelectorTemplate": "type(NETWORK_INTERFACE) AND fromRelationships.isNetworkInterfaceOf($(entityConditions))"

The $(entityConditions) placeholder will be automatically replaced to point to the specific host entity.

"entitySelectorTemplate": "type(NETWORK_INTERFACE) AND fromRelationships.isNetworkInterfaceOf(type(HOST) AND entityId(HOST-<id>))"
optional
displayIconsbooleanIf true, the name column displays the icon of the entity.required
enableDetailsExpandabilitybooleanIf true, rows can be expanded with charts related to that row dimension values.required
numberOfVisibleChartsIntegerThe number of charts that are visible on the unified analysis page.required
displayProblemImpactWidgetbooleanIf true, a widget indicating that some entities are not healthy will be displayed above the list. Make sure there is visible filtering with the health state filter.optional
columnsObjectAdditional attribute or relation columns.optional
filteringObjectThe filtering inside the entity list card. It affects only that card's table and chart group.optional

columns

Additional columns that are displayed between Name and chart columns. There are 2 types available: ATTRIBUTE and RELATION.

RELATION

Enables you to specify the relation to the entity (1:1 relation) or list of entities (1:n relation).

FieldTypeDescriptionRequired
entitySelectorTemplateStringAn entity selector that is used to retrieve the selected entities.

It can serve multiple purposes—selecting the entity where the chart will be displayed and filtering them based on certain rules or relating entities. It is used in conjunction with entityType to further refine which entities are applicable for the card. For example, if entityType is HOST, you can use entitySelectorTemplate to show the card only for hosts using a certain operating system.

$entityConditions acts as a dynamic placeholder, adapting to the context in which the card appears. For example, when the card is displayed on a page dedicated to a specific host, $entityConditions will automatically adjust to conditions applicable to that host.

For example, when the card with the following configuration is displayed on the host page.

"entitySelectorTemplate": "type(NETWORK_INTERFACE) AND fromRelationships.isNetworkInterfaceOf($(entityConditions))"

The $(entityConditions) placeholder will be automatically replaced to point to the specific host entity.

"entitySelectorTemplate": "type(NETWORK_INTERFACE) AND fromRelationships.isNetworkInterfaceOf(type(HOST) AND entityId(HOST-<id>))"
required
displayNameStringThe name of the column.required
displayAmountStringIf false, entities are displayed as a list (up to 20 entities). If true, the number of related entities is displayed as a link to the list screen. The linked list is prefiltered only if it has configured listFilters with appropriate relationship and entityName filter (freeText: true and modifier: contains).required
fallbackMessageStringDisplays additional message if no entity is found.optional

ATTRIBUTE

Enables you to specify custom attribute column.

FieldTypeDescriptionRequired
keyStringUsed to reference the desired attribute.required
displayNameStringThe name of the attribute.required

Events cards

The events cards display the events related to specified entities.

eventsCards:
- key: events
displayName: Events
entitySelectorTemplates:
- "$(entityConditions)",
- "type(CONTAINER_GROUP_INSTANCE),fromRelationships.isInstanceOf($(entityConditions))",
- "type(PROCESS_GROUP_INSTANCE),fromRelationships.isPgiOfCgi(type(CONTAINER_GROUP_INSTANCE),fromRelationships.isInstanceOf($(entityConditions)))"
showFiltering: true
showPagination: true
pageSize: 10
FieldTypeDescriptionRequired
keyStringThe unique key of the card, which is used to reference desired card configuration.required
displayNameStringThe card title. If not set, card are named Events.optional
entitySelectorTemplatesArrayThe list of entity selector templates. It defines where the events are gathered from. If empty, the events are gathered for current entity.optional
showFilteringbooleanIf true, the filtering bar displays above events chart.required
showPaginationbooleanIf true, the Show more action is available under events list.required
pageSizeIntegerThe number of rows visible at card load.required
descriptionStringThe description of the card.optional
eventSelectorTemplateStringAn event selector that is used to fetch events for related entities.optional
displayChartbooleanShow or hide the chart in the card.optional

Logs cards

The logsCards field specifies the behavior of the logs card and has the same functionality as Log viewer. It consists of a bar chart representing different log occurrences during selected timeframe and detailed table where each log is an entry with additional properties like: timestamp, status, content.

logsCards:
- key: logs
displayName: Logs
enablePaging: true
filterQuery: event.type!="k8s" AND ($(logEntityAttributeKey) inEntitySelector "$(entityConditions)" OR dt.entity.container_group_instance inEntitySelector "type(CONTAINER_GROUP_INSTANCE),fromRelationships.isInstanceOf($(entityConditions))" OR dt.entity.process_group_instance inEntitySelector "type(PROCESS_GROUP_INSTANCE),fromRelationships.isPgiOfCgi(type(CONTAINER_GROUP_INSTANCE),fromRelationships.isInstanceOf($(entityConditions)))")
showFiltering: true
pageSize: 10
FieldTypeDescriptionRequired
keyStringThe unique key of the card, which is used to reference desired card configuration.required
displayNameStringThe card title.optional
enablePagingbooleanIf true, enables paging of the log results in the table.optional
filterQueryStringThe predefined filtering for the log table. It is possible to to use LQL syntax also to more complex cases that include entity selectors with unified analysis placeholders in format: expression {attribute} inEntitySelector "{entitySelector}" to display logs of related entities. For example, dt.entity.host inEntitySelector "type(PROCESS_GROUP_INSTANCE) AND fromRelationship.isProcessOf($(entityConditions))".optional
showFilteringbooleanControls the visibility of the filter bar.optional
pageSizeIntegerThe number of rows visible on a single page.optional
descriptionStringThe description of the card.optional
displayChartbooleanShow or hide the chart in the card.optional

Message cards

The messageCards field specifies the behavior of the message card, like visualization options, theme, or text.

messageCards:
- key: message-card
type: CARD
card:
text: internal text
theme: MAIN
displayName: Message Card
- key: message-card2
type: MESSAGE
message:
text: internal text
theme: INFO
FieldTypeDescriptionRequired
keyStringThe unique key of the card, which is used to reference desired card configuration.required
typeenumDefines the type of your message card. The possible values are: CARD, MESSAGE.required

CARD

Displays the message in the card format with title, description and buttons.

FieldTypeDescriptionRequired
textStringDefines the description of the card.required
themeenumDefines the color theme of the card. The possible values are: WARNING, MAIN, CTA.required
displayNameStringDefines the title of the card.optional

MESSAGE

Displays the message in the card format with description only.

FieldTypeDescriptionRequired
textStringDefines the description of the card.required
themeenumDefines the color theme of the message. The possible values are: INFO, WARNING, ERROR.required

Problems card

The problemsCard field specifies the behavior of the problems card.

problemsCard:
entitySelectorTemplates:
- NOT VALIDATED IN SCHEMA
- NOT VALIDATED IN SCHEMA1
- NOT VALIDATED IN SCHEMA2
FieldTypeDescriptionRequired
entitySelectorTemplatesArrayUp to 10 entity selectors, used to fetch data for related entities.optional

Actions

The actions field defines actions that are available from the menu.

actions:
- actionScope: GLOBAL_DETAILS
actions:
- actionExpression: actionName|key1=value1
- actionScope: CHART_GROUP
key: chart
actionLocation: CHART
actions:
- actionExpression: actionName|key1=value1
- actionScope: ENTITIES_LIST
key: entitiesList
actionLocation: TABLE_ENTRY
actions:
- actionExpression: actionName|key1=value1
FieldTypeDescriptionRequired
actionScopeenumThe defined action appears in the settings of the chosen card type. Possible values: GLOBAL_DETAILS, GLOBAL_LIST, PROPERTIES, PROBLEMS, CHART_GROUP, ENTITIES_LIST, EVENTS, LOGS, METRIC_TABLE.required
keyStringYou can set the key if you want the action to be available only in one specific card. To add this actions in every card of this type, leave it empty.required
actionExpressionStringDefines the action expression.required
actionLocationenumDefines the location of your created action. Possible values: HEADER, CHART, TABLE_ENTRY.optional

List of available actions

ActionName|param1key=param1value|param2key=param2value

Generic actions

ActionParametersMinimum schema versionDescription
configurationNot applicable221Creates a link to the entity configuration page. For example, host settings.
relatedEntityConfigurationentitySelectorTemplate, name234Creates a link to the entity configuration page. For example, PGI settings from the host page.
settingsname, scopeClass1, scopeIdentifier2, schemaId3236Creates a link to the specified Settings 2.0 topic configuration UI.
hubCapabilitytext4, hubCapability5243Creates a link to the specified Dynatrace Hub capability.
hubExtensiontext4, extensionId6243Creates a link to the specified Extension in Dynatrace Hub.
relatedEntityScreenentitySelectorTemplate, name253Creates a link to the related entity unified analysis page.
platform.intentjson7, label, appId, intentId254Platform intent action.
smartscapeNot applicable255Redirects to smartscape.
1

Settings scope class

2

Settings scope identifier

3

Settings schema ID

4

Action display name

5

Hub capability URL part

6

Extension ID used as URL part

7

Entire intent JSON

Core actions

ActionParametersValid for conditionMinimum schema versionDescription
core.editConfigNot applicableUAScreenFeatureFlags.ENABLE_CONFIG_BUTTONS218Redirects to the entity's settings page and creates links for all its subtypes.
core.shareScreenUrlNot applicableWhole screen scope218Provides a link for sharing feedback.
core.share.feedbackNot applicableWhole screen scope218Opens a feedback sharing form.
core.dataExplorerNot applicableChart element type223Redirects charts to Data Explorer.
core.alertingNot applicableCONFIG_WRITE permissions, Chart element type224Redirects charts to set alerts on the selected metric.
core.pinToDashboardNot applicableChart or Whole Services screen scope with UAScreenFeatureFlags.ENABLE_PIN_TO_DASHBOARD224Pins charts or entire services to the dashboard.
core.problemsNot applicable-224Navigates to the Problems section.
core.screenTypeNot applicableUAScreenFeatureFlags.ENABLE_CONFIG_BUTTONS224Creates multiple predefined screen type actions.
core.singleCardNot applicableUAScreenFeatureFlags.ENABLE_SINGLE_CARD_BUTTONS232Displays a single card view.
core.logs.createMetricNot applicableLog card element type233Redirects to log settings to create a log metric.
core.opt.outNot applicableWhole screen scope235Navigates to the classic page view.
core.useLocalConfigNot applicableUAScreenFeatureFlags.ENABLE_USE_LOCAL_CONFIG_BUTTON236Activates the Local Config Mode.
core.sidebarscreenTypeExpression1UAScreenFeatureFlags.ENABLE_SIDE_BAR_BUTTONS244Opens the sidebar.
core.problems.detailspid2Details screen243Navigates to specific problem details.
core.logs.filteredNot applicableLog card element type246Redirects log cards to the Log Viewer.
core.slos.createNot applicableCONFIG_WRITE permissions, Slo List element type255Redirects charts to create a Service Level Objective (SLO).
1

Screen type expression to be rendered in the sidebar

2

Problem ID

Metric table cards

Metric table is a graphical representation of the metrics data related to the same dimension set.

metricTableCards:
- key: metricTable
pageSize: 5
displayCharts: true
enableDetailsExpandability: true
numberOfVisibleCharts: 2
filtering: {}
charts:
- displayName: Chart
conditions:
- NOT VALIDATED IN SCHEMA
visualizationType: GRAPH_CHART
graphChartConfig:
visualization:
themeColor: DEFAULT
seriesType: LINE
metrics:
- metricSelector: NOT VALIDATED IN SCHEMA
- metricSelector: builtin:process.cpu:splitBy("process.pid","process.parent_pid","process.executable.name","process.executable.path","process.command_line","process.owner", "dt.entity.process_group_instance")
visualization:
themeColor: DEFAULT
seriesType: LINE
conditions:
- NOT VALIDATED IN SCHEMA
FieldTypeDescriptionRequired
keyStringThe unique key of the card, which is used to reference desired card configuration.required
pageSizeIntegerThe number of rows visible on a single page.required
displayChartsbooleanIf true, charts with aggregated data appears above the table.required
enableDetailsExpandability booleanIf true, rows can be expanded with charts related to that row dimension values.required
numberOfVisibleChartsIntegerNumber of visible charts.required
chartsObjectDefine the charts to display timeseries data in the table. Table columns are based on the dimensions from the metrics results of those charts. Make sure the metrics of all charts have the same dimensions in a result.optional
conditionsArrayConditions for displaying the chart.optional
filteringObjectThe filtering inside the metric table card. It affects only that cards table and chart group. It automatically displays metric dimension filters if there are any dimension splits. To display only metric dimension filters, define it as empty (detailsFilters: {}).optional

Health cards

Health cards provide a visual representation of specific metrics within the Dynatrace UI. Each card can be tailored to display up to six distinct tiles, each representing a unique metric or data point.

Health tile can be used as navigation button to specify element on the page that will give more details about that metric.

healthCards:
- key: health_card
tiles:
- displayName: Uptime
metricSelector: builtin:host.uptime
displayMetricValue: 'true'
foldTransformation: LAST_VALUE
- displayName: CPU
metricSelector: builtin:host.cpu.usage:avg
displayMetricValue: 'true'
foldTransformation: LAST_VALUE
anchor:
cardName: Host performance
chartName: CPU usage
- displayName: Available memory
metricSelector: builtin:host.mem.avail.pct
displayMetricValue: 'true'
foldTransformation: LAST_VALUE
anchor:
cardName: Host performance
chartName: Memory usage
- displayName: Network
metricSelector: (builtin:host.net.nic.trafficIn:merge("dt.entity.network_interface"):avg)+(builtin:host.net.nic.trafficOut:merge("dt.entity.network_interface"):avg)
additionalMetricSelectors:
collection:
- builtin:host.net.nic.trafficIn:merge("dt.entity.network_interface")
- builtin:host.net.nic.trafficOut:merge("dt.entity.network_interface")
displayMetricValue: 'true'
foldTransformation: LAST_VALUE
anchor:
cardName: Host performance
chartName: Traffic
FieldTypeDescriptionRequired
keyStringUnique key, which is used to map to this health card in the screen layout config.required
tilesArrayCollection of tile definitions in the health card. Each tile can display a specific metric. A health card can have up to 6 tiles.optional

tiles

FieldTypeDescriptionRequired
displayNameStringThe name of the health card tile.required
metricSelectorStringUsed to relate problems and specify the metric displayed on the tile.required
additionalMetricSelectorsArrayUsed to relate problems. Hidden in the UI.optional
displayMetricValuebooleanDetermines whether the metric value should be displayed on the tile.optional
foldTransformationEnumDefines transformation method, which folds data into single value. Possible values: AUTO, LAST_VALUE, MAX, MIN, SUM, MEDIAN, VALUE, PERCENTILE_10, PERCENTILE_75, PERCENTILE_90.required
anchorObjectDefines an element to redirect to when the tile is selected. This can be a specific card or chart name.optional
Related tags
Infrastructure Observability