How to use the Matrix tile
The Matrix tile shows health state, performance metrics and other information for a list of monitored
Tip: Too add more context to the data your displaying, you can also show it on an image background. For example, you can use a map as a background and show metrics for your servers on the map based on their location. For that, you need to use the Surface tile (How to use the Surface tile).
How does the Matrix tile work?
The Matrix tile works by using a row perspective to show a row of data for each of the
The same row perspective is used for all the
What if there is more than one row perspective common to the
If there is more than one common row perspective, then the highest ranked row perspective is used to show data for all the
What if there is not a row perspective common to the
Can I change what information is shown?
You can edit a row perspective on a per tile one off basis, for example to remove some elements if some data is missing, by choosing custom columns, see Custom - edit columns in the JSON editor. These edits will only apply to this tile on this dashboard.
Can I create new row perspectives?
To create a new row perspective to be used by more than one tile, see How to create and modify row perspectives. These row perspectives can then be used in other tiles.
Webinar about configuring Matrix tiles
How to configure a Matrix tile
Add a new tile to a dashboard or perspective and choose
the Matrix tile.Scope:
Configure the scope to define the
objects you want to show.Scope options on dashboardsTip: If you experience any problems with scoping tiles, you'll find FAQs and help in the article How to scope tiles.
List List allows you to select one or more objects or groups.
You can add multiple
objects and groups . To remove anobject or group click the x to the right of its name.Tip: Start typing and after two characters you'll see suggestions that match the name appear.
Tips for using wildcards when searching for objects or groupsBy default searching will look for the top 10 items containing the words listed in the search. If you wish to create a more specific search you will need to use wildcards (*).
If you place a wildcard after the term you are looking for, it will find all the objects which start with that word searched and any terms that may follow. If you place a wildcard at the start of the search term, it will look for objects that contain the searched word and also have terms before that word.
If you enclose your searched term in wildcards it will look for objects which contain the searched word, this object will not begin or end with the term searched.
Group Group allows you to select members of a specific group. Only one group can be selected.
Advanced Advanced allows you to select a group, class or both. You must at least define either a group or class. You can define both. You can also use criteria to narrow down your selection.
Group:
Same as the group option above.
Class:
Class equates to the target class within SCOM. As you type the dropdown will be populated with suggestions of matching classes from SCOM, from which you can select the required class.
Criteria:
Criteria allows you to create an expression to further refine the scope.
Examples for commonly used criteriaObjects you would like to see Criteria Objects with particular text in their name DisplayName like '%Server1%'
Objects starting with a particular string DisplayName like 'test%'
All objects in maintenance mode InMaintenanceMode = 'TRUE'
Only healthy objects HealthState = 1
Objects with a health state in SCOM of 0, an unknown health state (uninitialized), a gray health state icon with a question mark. HealthState = 0
Objects that are not healthy HealthState != 1
Objects in critical state HealthState = 3
Objects in critical or warning state HealthState = 2 or HealthState = 3
To show all gray uninitialised objects HealthState = 0 OR HealthState IS NULL
All objects not in maintenance mode InMaintenanceMode != 'TRUE'
Objects where the parent agent is offline IsAvailable='false'
Objects that are offline, in maintenance or state unknown IsAvailable='false' OR InMaintenanceMode=1 OR HealthState=0
Computers with a particular OS OSVersion = '6.3.9600'
List objects by name and filter by HealthState (Name like '%Server3%' OR Name like '%Server4%' OR Name like '%Server2%') AND HealthState=3
List objects by SCOM Id and filter by HealthState Id IN ('7021174b-9e5d-5fbf-878a-42b9f0bf6f4a', '9bd4a1cc-f07a-0e36-b37d-d9ee974e0f3c') AND HealthState=3
Exclude object from the Group specified DisplayName not like '%server3%'
Exclude objects from the Group specified (DisplayName NOT LIKE '%server3%') AND (DisplayName NOT LIKE '%server4%')
For more information see:
Scope options on perspectivesNote: If you never used a perspective, you should read Working with perspectives before scoping tiles on perspectives.
The power of perspectives is that tiles on a perspective can use a dynamic scope. A dynamic scope considers the currently viewed
object . A dynamic scope consists of two different states:the configuration of the scope in the tile (for example, "consider child objects of type logical disk for the currently viewed object")
the actual resolved scope that depends on which
object you are currently viewing ("this object has 5 child objects of type logical disk")
After configuring the dynamic scope once in the tile, you'll get different results depending how the scope is resolved on the different
objects you are viewing.Suggestions
Suggestions are generated based on the object you are currently viewing. You'll see a list of relevant scope options based on the object's relations to other objects. Suggestions don't cover every possible scope, but they are a quick and easy way to select a suitable scope for your tile.
Note: Suggestions won't be shown if an object has no children, parents or siblings.
Tip: If the exact scope you want isn't listed in the suggestions, you can select a suggested scope that is similar to the one you want, and then click on custom. The custom section will now automatically be filled with the suggestion you picked and you can edit the scope here to adjust it exactly to your needs. This is a more intuitive way to pick a scope than starting in the custom section and navigating the SCOM object model for classes and groups.
Double-check the scope when using suggestions: Using suggestions is an easy way to pick a scope, but you need to make sure that the generated suggestion is appropriate for all objects that use the perspective.
For example, when you pick a suggestion for an EA, you will get suggestions that are specific to the map, dependencies, and availability tests for this one EA. On perspectives you want to use for all EAs, you have to change the scope suggestion in the custom section so that the tile work for all EAs.Walkthrough: Editing a scope suggestion to make it work for all EAsEnterprise Applications are designed so that you can map out the servers that make up the application. You can then configure tiles to show information related to just the servers on the EA's map. When you create a perspective that will be used for all EAs, you need to make sure that you scope the tiles so that they work for any EA. When you start with a suggestion, the tile's scope only works for the one EA you're currently looking at, and this is why you need to edit the scope:
For an EA you want to scope to the servers that are specified on the EA map by selecting something from the suggestions (Dashboard Server 4.2 and above) that shows something similar to the following:
This /<YourApplicationName> Map / ... / Windows Computer
The above will scope the tile to all the objects of class Windows Computer on this EAs map.
The screenshot below shows some scope suggestions for an application called FinanceXS. The bold text shows the currently selected scope is This object. The cursor shows the option
This / FinanceXS / ... / Windows Computer
. Once chosen this scope will show all the Windows computers shown on the applications map.Next, we need to adjust the specified scope to allow it to work for all EAs, rather than just this one.
- In the scope section click custom.
Click on the text
<YourApplicationName> Map (children)
which is your first scope step. This will expand the scope step so you can edit it.Remove the auto-populated class
<YourApplicationName> Map
by clicking the cross x next to it.Start typing
Enterprise Application - Map
and select this from the list to add this class. This is so that this tile scope will work for all EAs, rather than just this one EA.- The scope is now configured to show all the Windows computers on the EA's map, whichever EA you happen to be viewing with the perspective.
How to read the suggestionsYou can pick between "this object" and objects that are related to this object as parents, children or siblings. The suggestions for children are written as paths that follow the SCOM object tree structure, parents and siblings can be identified by the word parent or sibling in the suggestion.
A parent of an object is any object that hosts or contains that object.
A child of an object is any object that this object hosts or contains.
A sibling of an object is any object of the same class that is hosted by the same parent.This object The dynamic scope will be resolved to the object currently viewed.
"this object" option which does NOT mean the actual one object like for the target setting but the relative object I'm looking at
This / child
/child
/class of object
The dynamic scope will be resolved to children of the object currently viewed.
You select objects of a particular class that are contained in path. The class of the objects you are selecting is stated at the end of the path.
This / * The dynamic scope will be resolved to children of the object currently viewed.
If a path ends with a wildcard (*) it means that you select all objects of any class within the path.
Technically it means that we fill the class field with the class "logical entity" since every object in SCOM has this class, it is a "base" class
Example:
This / IIS Web Server / *
selects all objects of any class in the level belowThis / IIS Web Server
.This / child
/ ... /class of object
The dynamic scope will be resolved to children of the object currently viewed.
If a path contains an ellipsis (...) it means that you select objects of a particular class that are contained in all of the objects that are contained in the path preceding the ellipsis. The class of the objects you are selecting is stated at the end of the path.
Example:
This / Sales App Map / ... / Windows Computer
selects all objects of the class Windows Computer in theThis / Sales App Map
path.Parent class of object
The dynamic scope will be resolved to parents of the object currently viewed. Sibling class of object
The dynamic scope will be resolved to siblings of the object currently viewed. Show more triangle next to a suggestion
You can click the show more triangle to expand the list of suggestions and see more specific paths.Example for navigating suggestions in an EAIf you are looking at an EA, the path to find all windows computers in that EA may read
Map / ... / Windows Computer
. It returns all objects of the Windows Computer class contained within all of the paths underMap
.To narrow the scope down, you can click on the triangle to expand the suggestion and select one of the more specific paths. If you select
Map / Web / Windows Computer
you will find all objects of the Windows Computer class in the pathMap / Web
.If you choose the option
Map / *
you'll find all objects contained in the map. If you extend this suggestion by clicking on the triangle, you'll see suggestions to select all objects in a more specific path, for exampleMap / Web / *
.Custom
Here you can pick objects that are related to the object you are currently looking at. If you want to create a specific scope that is not listed under suggestions, you can create the scope here.
Tip: You can pick a similar scope under suggestions first and then click on custom to edit it.
How to pick a simple relation (one step through the SCOM model)At the top, you'll see the name of the object you are currently looking at. Now you can choose if you want to pick parents or children of that object, and if this parent or child relation should be considered only one level up or down the SCOM model or through all levels.
Class:
Here you pick the class of the objects you want to select. If you leave this field empty, the scope falls back to the "this object" scope.
Note: You will only see groups and classes that the object you are currently looking at is a member of.
Tip: If you want to pick objects of any class, enter the SCOM base class logical entity in the class field.
Tip: If you want to find out what classes the object you are interested in belongs to, you can go to the Monitored Entity perspective of that object. You'll see all the classes the object belongs to listed there.
Criteria:
You can narrow the selection of objects of a particular class down further by entering criteria for those objects. For more help see How to use criteria when scoping objects.
Tip: If you want to find out what properties you can base your criteria on, you can go to the Monitored Entity perspective of the object you are interested in. You'll see all the properties for criteria listed there.
.
Example for picking a simple relationFor example, for a perspective created for the group IIS8 Computer Group adding a Status tile scoped to show children with a class of
object
will show the group members, i.e. the members of the IIS8 Computer Group.How to pick advanced relations (multiple steps through the SCOM model)If you need to traverse a more advanced SCOM object model like an EA, you can use the + button to add more steps. This creates a scope that can go through any kind of path of the SCOM object model.
Complete the following steps and then click the + button after you're done to add the next level of SCOM objects:
At the top, you'll see the name of the object you are currently looking at. Now you can choose if you want to pick parents or children of that object, and if this parent or child relation should be considered only one level up or down the SCOM model or through all levels.
Class:
Here you pick the class of the objects you want to select. If you leave this field empty, the scope falls back to the "this object" scope.
Note: You will only see groups and classes that the object you are currently looking at is a member of.
Tip: If you want to pick objects of any class, enter the SCOM base class logical entity in the class field.
Tip: If you want to find out what classes the object you are interested in belongs to, you can go to the Monitored Entity perspective of that object. You'll see all the classes the object belongs to listed there.
Criteria:
You can narrow the selection of objects of a particular class down further by entering criteria for those objects. For more help see How to use criteria when scoping objects.
Tip: If you want to find out what properties you can base your criteria on, you can go to the Monitored Entity perspective of the object you are interested in. You'll see all the properties for criteria listed there.
.
Other specific objects
Gives you the normal, non-dynamic scope options you are used to when scoping tiles on dashboards. This means the tile will not dynamically adapt it's content to the currently viewed
object , it will always show data for the staticobject picked here.Since the power of perspectives is that their tiles can show data for different
objects depending on whatobject is currently being viewed, you should only select this option when you are sure that there is no relationship between the desired scope and the currently viewedobject .Columns:
By default the Matrix tile is set to use dynamic columns:
Dynamic - using row perspectives
In dynamic mode the columns are automatically populated by a row perspective that is useful for your scope. Depending on your scope, there might be additional predefined row perspectives for you to choose from. The row perspective determines the columns you are seeing in the matrix.
Custom - edit columns in the JSON editor
Alternatively, you can select custom columns, where you can modify the predefined row perspective in a JSON editor. When you switch from dynamic to custom, the row perspective you chose under dynamic will already be inserted in the JSON editor as a template. Here you can edit the columns, add new ones or change their order.
You can make simple edits by cutting and pasting code snippets to change their order or simply deleting the code block for a column you don't need.
Tip: If you change the configuration by using custom columns, you can save those settings as a row perspective to make them available here in the future (How to create and modify row perspectives).
If you want to insert new columns, use the following reference for each cell type:
Code snippets for cell types:
StatusDisplays the health state of an object, its display name and Health State Summary
(see How to use the Alerts tile) .Configuration
Example:
Copy{
"title": "State",
"_type": "celltile/status",
"config": {
"display": {
"showStatusIcon": false
}
}
}Type:
"celltile/
status"
Display Properties:
"showStatusIcon"
:true
will show the status icon indicator.false
will hide the icon. The default value istrue
."labelTemplate"
a mustache template to render as custom label.Can contain any valid template, the context object for the current row will be provided as the template context. Default if none provided is {{displayName}}
.Source Properties: None
Status BlockDisplays the health state of an
object as simple colored block, with the color indicating the health state.Configuration Example:
Copy{
"title": "State",
"_type": "celltile/status-block",
"config": {
"display": {
"fullWidth": true
}
}
}Type:
celltile/status-block
Display Properties:
"fullWidth"
:true
the block will fill the available column width,false
will use a fixed width. The default value isfalse
."labelTemplate"
a mustache template to render as custom label.Can contain any valid template, the context object for the current row will be provided as the template context. Default if none provided is {{displayName}}
.Source Properties: None
Monitor StatusDisplays the health state of a specific entity monitor for the current object as a simple colored block, with the color indicating the health state.
Configuration Example:
Copy{
"title": "State",
"_type": "celltile/monitor-status",
"config": {
"source": {
"monitorIds": [ "e3ab86a1-34fa-35b5-b864-da4db993c0f5" ]
}
}
}Type:
celltile/monitor-status
Display Properties:
"fullWidth"
:true
will fill the available column width.false
will use a fixed width. The default value isfalse
.Source Properties:
"monitorIds"
array of SCOM monitor IDs.Custom TextTemplate Renders a custom mustache template and displays the result in the cell.
Configuration Example:
Copy{
"title": "Domain DNS",
"_type": "celltile/text",
"config": {
"display": {
"contentTemplate": "{{properties.domainDnsName}}"
}
}
}Type:
celltile/text
Display Properties:
"contentTemplate"
a mustache template to render. Can contain any valid template, the contextobject for the current row will be provided as the template context.Example content templates:
- Display the IP address:
"{{(properties.ipAddress || '').split(',')[0]}}"
- Display size value in Gigabytes:
"{{Math.round(properties.size / 10737418.24) /100}} GB"
- Display the file system e.g. C:\
"{{properties.fileSystem}}"
Source Properties: None
Service Level Agreement (SLA) GaugeDisplays a small SLA gauge showing a visualization of the target value from 0-100%. Color, shape (how filled) and label of the gauge indicate the value and status.
Configuration Example:
Copy{
"title": "Uptime Target",
"_type": "celltile/sla",
"config": {
"source": {
"sloId": "b93343a0-be4a-cce1-5134-945a94569e22"
}
}
}Type:
celltile/sla
Display Properties: None
Source Properties:
"sloId"
this is the SCOM ID of the Service Level Objective (SLO) object, and is mandatory.To find the SCOM ID of the Service Level Objective (SLO) object, temporarily add an SLA tile configured to the SLO you require. Click the edit tile button and then the edit JSON button . The SCOM ID of the SLO will be shown in the JSON after
"sloId":
Optional: Using a specific timeframeDefault timeframe:
By default, all cell tiles in the Matrix tile adapt to the page timeframe.
What is the page timeframe?The page timeframe is the timeframe setting a dashboard
or perspective is currently using. When a user changes the page timeframe, all tiles that use the page timeframe will adapt to the new timeframe. Tiles that don't use the dynamic page timeframe aren't affected and won't change.Setting a specific timeframe:
You can set a fixed timeframe for cells by adding
timeframe
as asource
property:Copy"source": {
"timeframe": {
"type": "fixed",
"range": "last24hours"
},Properties
range last1hour
,last12hours
,last24hours
,last7days
,last30days
,last3months
,last6months
,last12months
,all
Note: You need to make sure that the data source supports the timeframe you set.
type fixed
= use fixedrange
valueinherit
= use page timeframe (default)BarDisplays a bar graph that visualizes both a number and the resulting bar width based on the number value.
Configuration Example:
Copy{
"title": "SQL Connections",
"_type": "celltile/bar",
"config": {
"source": {
"objectname": "SQL DB Engine:General Statistics",
"countername": "User Connections"
}
}
}Type:
celltile/
bar
Display Properties:
"valueTemplate"
mustache template to execute that processes the"value"
to be rendered as the bar graph label. By default this template is"{{value ? Math.min(value, 100) : ''}}"
"height"
in pixels of the bar visualization.Source Properties:
The
"objectname"
and"countername"
properties should be set to the appropriate metric to be retrieved by that data-source.Example showing memory usage with rounded value formatted in valueTemplate:
Copy{
"title": "Memory Usage Bar",
"_type": "celltile/bar",
"config": {
"source": {
"objectname": "Memory",
"countername": "PercentMemoryUsed"
},
"display": {
"valueTemplate": "{{(value ? Math.floor(value) : 0)}}"
}
}
}Optional: Using a specific timeframeDefault timeframe:
By default, all cell tiles in the Matrix tile adapt to the page timeframe.
What is the page timeframe?The page timeframe is the timeframe setting a dashboard
or perspective is currently using. When a user changes the page timeframe, all tiles that use the page timeframe will adapt to the new timeframe. Tiles that don't use the dynamic page timeframe aren't affected and won't change.Setting a specific timeframe:
You can set a fixed timeframe for cells by adding
timeframe
as asource
property:Copy"source": {
"timeframe": {
"type": "fixed",
"range": "last24hours"
},Properties
range last1hour
,last12hours
,last24hours
,last7days
,last30days
,last3months
,last6months
,last12months
,all
Note: You need to make sure that the data source supports the timeframe you set.
type fixed
= use fixedrange
valueinherit
= use page timeframe (default)Signal StrengthDisplays a visualization to indicate a numeric value in blocks. Typically used to show a small number of items as blocks e.g. number of CPUs from 1-16.
Configuration Example:
Copy{
"title": "#CPUs",
"_type": "celltile/signalstrength",
"config": {
"display": {
"valueProperty": "properties.logicalProcessors"
}
}
}Type:
celltile/signalstrength
Display Properties:
"valueProperty"
property accessor to execute and retrieve the numeric value."height"
in pixels of each bar visualization."width"
in pixels of each bar visualization.Source Properties: None.
SCOM MonitorDisplays the status of a SCOM monitor object. The target of the monitor must be the object that the tile is scoped to.
Configuration Example:
Copy{
"title": "Monitors",
"_type": "celltile/monitor",
"config": {
"source": {
"monitorIds": [ "e3ab86a1-34fa-35b5-b864-da4db993c0f5" ]
}
}
}Type:
celltile/monitor
Display Properties: None.
Source Properties:
"monitorIds"
a monitor SCOM ID.To find the SCOM ID of a monitor in Dashboard Server SCOM Edition browse to a server in Dashboard Server SCOM Edition, and click on the Monitored Entity perspective. In the Monitors section click on the monitor you need, for example Hardware Performance Rollup. The SCOM ID is shown in the URL immediately after
id=
. For example, the SCOM ID for the monitor in the following URL is29f76d4e-dbfe-b80d-d770-3679524a5ec6
http://servername/SquaredUpv5/drilldown/scommonitor?id=29f76d4e-dbfe-b80d-d770-3679524a5ec6&objectid=fb9564cd-3ff1-1b3b-88b1-096111a722d0Heath State HistoryDisplays a visualization of the health state history of an object over a time period.
Configuration Example:
Copy{
"title": "Health State History",
"_type": "celltile/timeseriesblocks",
"config": {
"source": {
"monitorIds": [
"e3ab86a1-34fa-35b5-b864-da4db993c0f5"
]
}
}
}Type:
celltile/timeseriesblocks
Display Properties:
"height"
as the height in pixels of each bar."fullWidth"
if set true, the tile will fill the available column width, else false will use a fixed width based on the width setting above. Default value is false.Source Properties:
"monitorIds"
a monitor SCOM ID.To find the SCOM ID of a monitor in Dashboard Server SCOM Edition browse to a server in Dashboard Server SCOM Edition, and click on the Monitored Entity perspective. In the Monitors section click on the monitor you need, for example Hardware Performance Rollup. The SCOM ID is shown in the URL immediately after
id=
. For example, the SCOM ID for the monitor in the following URL is29f76d4e-dbfe-b80d-d770-3679524a5ec6
http://servername/SquaredUpv5/drilldown/scommonitor?id=29f76d4e-dbfe-b80d-d770-3679524a5ec6&objectid=fb9564cd-3ff1-1b3b-88b1-096111a722d0Optional: Using a specific timeframeDefault timeframe:
By default, all cell tiles in the Matrix tile adapt to the page timeframe.
What is the page timeframe?The page timeframe is the timeframe setting a dashboard
or perspective is currently using. When a user changes the page timeframe, all tiles that use the page timeframe will adapt to the new timeframe. Tiles that don't use the dynamic page timeframe aren't affected and won't change.Setting a specific timeframe:
You can set a fixed timeframe for cells by adding
timeframe
as asource
property:Copy"source": {
"timeframe": {
"type": "fixed",
"range": "last24hours"
},Properties
range last1hour
,last12hours
,last24hours
,last7days
,last30days
,last3months
,last6months
,last12months
,all
Note: You need to make sure that the data source supports the timeframe you set.
type fixed
= use fixedrange
valueinherit
= use page timeframe (default)SCOM Performance as SparklineDisplays a sparkline graph visualization of SCOM performance data over time for a given object. When clicked, the graph will drilldown into the detailed SCOM performance view for the object.
Configuration Example:
Copy{
"title": "CPU",
"_type": "celltile/scomperf-as-sparkline",
"config": {
"display": {
"height": 30,
"width": 120
},
"source": {
"objectname": "Processor Information",
"countername": "% Processor Time"
}
}
}Type:
celltile/
scomperf-as-
sparkline
Display Properties:
"height"
in pixels of the graph."width"
in pixels of the graph."verticalMargin"
the margin above and below the graph."labelTemplate"
a mustache template to render as the label, context is latest performance value as a number value."fill"
if set to true it will fill the area under the sparkline to display in a line-graph style.Source Properties:
The
"objectname"
and"countername"
properties should be set to the appropriate metric to be retrieved by that data-source.Example source properties:
"objectname": "Memory", "countername": "PercentMemoryUsed"
- display the percentage of memory utilizationExample overriding both source and display configuration - this example shows bandwidth sparkline in Bytes per second:
Copy"source": {
"objectname": "Web Service",
"countername": "Bytes Total/sec"
},
"display": {
"labelTemplate": "{{ ( value ? (value / 1000).toFixed(2).toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',') + ' KB/s' : '' ) }}"
}The data-source graph binding object properties can be modified as required, this is the default but can be overridden in the config:
Copy"bindings": {
"data": "dataPoints",
"timestamp": "key",
"value": "value"
}Performance data for the tile is queried per column using the tile scope. This data needs to be grouped together for each object, so that it can be displayed correctly for the appropriate row. By default it is grouped assuming that the objects are unhosted or top-level objects such as Computers, Network Devices, or Distributed Applications. If your tile is scoped to hosted child objects such as disks, websites or databases then you will need to override the default grouping behavior with the below example under the config section:
Copy"transforms": [
{
"operator": "group",
"parameters": {
"keys": [
"managedEntityId"
]
}
},
{
"operator": "merge",
"parameters": {
"sourceKey": "id",
"targetKey": "key.managedEntityId"
}
}
]Optional: Using a specific timeframeDefault timeframe:
By default, all cell tiles in the Matrix tile adapt to the page timeframe.
What is the page timeframe?The page timeframe is the timeframe setting a dashboard
or perspective is currently using. When a user changes the page timeframe, all tiles that use the page timeframe will adapt to the new timeframe. Tiles that don't use the dynamic page timeframe aren't affected and won't change.Setting a specific timeframe:
You can set a fixed timeframe for cells by adding
timeframe
as asource
property:Copy"source": {
"timeframe": {
"type": "fixed",
"range": "last24hours"
},Properties
range last1hour
,last12hours
,last24hours
,last7days
,last30days
,last3months
,last6months
,last12months
,all
Note: You need to make sure that the data source supports the timeframe you set.
type fixed
= use fixedrange
valueinherit
= use page timeframe (default)Timeframes:
By default, all cell tiles in the Matrix tile adapt to the page timeframe.
What is the page timeframe?The page timeframe is the timeframe setting a dashboard
or perspective is currently using. When a user changes the page timeframe, all tiles that use the page timeframe will adapt to the new timeframe. Tiles that don't use the dynamic page timeframe aren't affected and won't change.Using a specific timeframe for cell tilesA specific timeframe can only be set in the cell types Bar,
SLA Gauge, Health State History, and Performance as Sparkline.You can set a fixed timeframe for cells by adding
timeframe
as asource
property:Copy"source": {
"timeframe": {
"type": "fixed",
"range": "last24hours"
},Properties
range last1hour
,last12hours
,last24hours
,last7days
,last30days
,last3months
,last6months
,last12months
,all
Note: You need to make sure that the data source supports the timeframe you set.
type fixed
= use fixedrange
valueinherit
= use page timeframe (default)- Display the IP address:
Display:
Size:
Change the setting from default to large when you want to use the matrix tile on a wall monitor. Icons and fonts will be larger and better to read.
Linking:
By default, each cell tile links to an appropriate drill-down (if there is a drill-down for this cell tile type). When you check the always link to row object option, the entire row links to object drill-down for the context object.
Click done to save the tile.
Reference
Cell tile definitions
Displays the health state of an object, its display name and Health State Summary
Configuration
Example:
{
"title": "State",
"_type": "celltile/status",
"config": {
"display": {
"showStatusIcon": false
}
}
}
Type:"celltile/
status"
Display Properties:
"showStatusIcon"
: true
will show the status icon indicator. false
will hide the icon. The default value is true
.
"labelTemplate"
a mustache template to render as custom label. {{displayName}}
.
Source Properties: None
Displays the health state of an
Configuration Example:
{
"title": "State",
"_type": "celltile/status-block",
"config": {
"display": {
"fullWidth": true
}
}
}
Type:celltile/status-block
Display Properties:
"fullWidth"
: true
the block will fill the available column width, false
will use a fixed width. The default value is false
.
"labelTemplate"
a mustache template to render as custom label.{{displayName}}
.
Source Properties: None
Displays the health state of a specific entity monitor for the current object as a simple colored block, with the color indicating the health state.
Configuration Example:
{
"title": "State",
"_type": "celltile/monitor-status",
"config": {
"source": {
"monitorIds": [ "e3ab86a1-34fa-35b5-b864-da4db993c0f5" ]
}
}
}
Type:celltile/monitor-status
Display Properties:
"fullWidth"
: true
will fill the available column width. false
will use a fixed width. The default value is false
.
Source Properties:
"monitorIds"
array of SCOM monitor IDs.
Renders a custom mustache template and displays the result in the cell.
Configuration Example:
{
"title": "Domain DNS",
"_type": "celltile/text",
"config": {
"display": {
"contentTemplate": "{{properties.domainDnsName}}"
}
}
}
Type:celltile/text
Display Properties:
"contentTemplate"
a mustache template to render. Can contain any valid template, the context
Example content templates:
- Display the IP address:
"{{(properties.ipAddress || '').split(',')[0]}}"
- Display size value in Gigabytes:
"{{Math.round(properties.size / 10737418.24) /100}} GB"
- Display the file system e.g. C:\
"{{properties.fileSystem}}"
Source Properties: None
Displays a small SLA gauge showing a visualization of the target value from 0-100%. Color, shape (how filled) and label of the gauge indicate the value and status.
Configuration Example:
{
"title": "Uptime Target",
"_type": "celltile/sla",
"config": {
"source": {
"sloId": "b93343a0-be4a-cce1-5134-945a94569e22"
}
}
}
Type:celltile/sla
Display Properties: None
Source Properties:"sloId"
this is the SCOM ID of the Service Level Objective (SLO) object, and is mandatory.
To find the SCOM ID of the Service Level Objective (SLO) object, temporarily add an SLA tile configured to the SLO you require. Click the edit tile button and then the edit JSON button . The SCOM ID of the SLO will be shown in the JSON after "sloId":
Default timeframe:
By default, all cell tiles in the Matrix tile adapt to the page timeframe.
The page timeframe is the timeframe setting a dashboard
Setting a specific timeframe:
You can set a fixed timeframe for cells by adding timeframe
as a source
property:
"source": {
"timeframe": {
"type": "fixed",
"range": "last24hours"
},
Properties
range |
Note: You need to make sure that the data source supports the timeframe you set. |
type |
|
Displays a bar graph that visualizes both a number and the resulting bar width based on the number value.
Configuration Example:
{
"title": "SQL Connections",
"_type": "celltile/bar",
"config": {
"source": {
"objectname": "SQL DB Engine:General Statistics",
"countername": "User Connections"
}
}
}
Type:celltile/
bar
Display Properties:
"valueTemplate"
mustache template to execute that processes the "value"
to be rendered as the bar graph label. By default this template is "{{value ? Math.min(value, 100) : ''}}"
"height"
in pixels of the bar visualization.
Source Properties:
The "objectname"
and "countername"
properties should be set to the appropriate metric to be retrieved by that data-source.
Example showing memory usage with rounded value formatted in valueTemplate:
{
"title": "Memory Usage Bar",
"_type": "celltile/bar",
"config": {
"source": {
"objectname": "Memory",
"countername": "PercentMemoryUsed"
},
"display": {
"valueTemplate": "{{(value ? Math.floor(value) : 0)}}"
}
}
}
Default timeframe:
By default, all cell tiles in the Matrix tile adapt to the page timeframe.
The page timeframe is the timeframe setting a dashboard
Setting a specific timeframe:
You can set a fixed timeframe for cells by adding timeframe
as a source
property:
"source": {
"timeframe": {
"type": "fixed",
"range": "last24hours"
},
Properties
range |
Note: You need to make sure that the data source supports the timeframe you set. |
type |
|
Displays a visualization to indicate a numeric value in blocks. Typically used to show a small number of items as blocks e.g. number of CPUs from 1-16.
Configuration Example:
{
"title": "#CPUs",
"_type": "celltile/signalstrength",
"config": {
"display": {
"valueProperty": "properties.logicalProcessors"
}
}
}
Type:celltile/signalstrength
Display Properties:
"valueProperty"
property accessor to execute and retrieve the numeric value.
"height"
in pixels of each bar visualization.
"width"
in pixels of each bar visualization.
Source Properties: None.
Displays the status of a SCOM monitor object. The target of the monitor must be the object that the tile is scoped to.
Configuration Example:
{
"title": "Monitors",
"_type": "celltile/monitor",
"config": {
"source": {
"monitorIds": [ "e3ab86a1-34fa-35b5-b864-da4db993c0f5" ]
}
}
}
Type:celltile/monitor
Display Properties: None.
Source Properties:"monitorIds"
a monitor SCOM ID.
To find the SCOM ID of a monitor in Dashboard Server SCOM Edition browse to a server in Dashboard Server SCOM Edition, and click on the Monitored Entity perspective. In the Monitors section click on the monitor you need, for example Hardware Performance Rollup. The SCOM ID is shown in the URL immediately after id=
. For example, the SCOM ID for the monitor in the following URL is 29f76d4e-dbfe-b80d-d770-3679524a5ec6
http://servername/SquaredUpv5/drilldown/scommonitor?id=29f76d4e-dbfe-b80d-d770-3679524a5ec6&objectid=fb9564cd-3ff1-1b3b-88b1-096111a722d0
Displays a visualization of the health state history of an object over a time period.
Configuration Example:
{
"title": "Health State History",
"_type": "celltile/timeseriesblocks",
"config": {
"source": {
"monitorIds": [
"e3ab86a1-34fa-35b5-b864-da4db993c0f5"
]
}
}
}
Type:celltile/timeseriesblocks
Display Properties:
"height"
as the height in pixels of each bar.
"fullWidth"
if set true, the tile will fill the available column width, else false will use a fixed width based on the width setting above. Default value is false.
Source Properties:
"monitorIds"
a monitor SCOM ID.
To find the SCOM ID of a monitor in Dashboard Server SCOM Edition browse to a server in Dashboard Server SCOM Edition, and click on the Monitored Entity perspective. In the Monitors section click on the monitor you need, for example Hardware Performance Rollup. The SCOM ID is shown in the URL immediately after id=
. For example, the SCOM ID for the monitor in the following URL is 29f76d4e-dbfe-b80d-d770-3679524a5ec6
http://servername/SquaredUpv5/drilldown/scommonitor?id=29f76d4e-dbfe-b80d-d770-3679524a5ec6&objectid=fb9564cd-3ff1-1b3b-88b1-096111a722d0
Default timeframe:
By default, all cell tiles in the Matrix tile adapt to the page timeframe.
The page timeframe is the timeframe setting a dashboard
Setting a specific timeframe:
You can set a fixed timeframe for cells by adding timeframe
as a source
property:
"source": {
"timeframe": {
"type": "fixed",
"range": "last24hours"
},
Properties
range |
Note: You need to make sure that the data source supports the timeframe you set. |
type |
|
Displays a sparkline graph visualization of SCOM performance data over time for a given object. When clicked, the graph will drilldown into the detailed SCOM performance view for the object.
Configuration Example:
{
"title": "CPU",
"_type": "celltile/scomperf-as-sparkline",
"config": {
"display": {
"height": 30,
"width": 120
},
"source": {
"objectname": "Processor Information",
"countername": "% Processor Time"
}
}
}
Type:celltile/
scomperf-as-
sparkline
Display Properties:
"height"
in pixels of the graph.
"width"
in pixels of the graph.
"verticalMargin"
the margin above and below the graph.
"labelTemplate"
a mustache template to render as the label, context is latest performance value as a number value.
"fill"
if set to true it will fill the area under the sparkline to display in a line-graph style.
Source Properties:
The "objectname"
and "countername"
properties should be set to the appropriate metric to be retrieved by that data-source.
Example source properties:
"objectname": "Memory", "countername": "PercentMemoryUsed"
- display the percentage of memory utilization
Example overriding both source and display configuration - this example shows bandwidth sparkline in Bytes per second:
"source": {
"objectname": "Web Service",
"countername": "Bytes Total/sec"
},
"display": {
"labelTemplate": "{{ ( value ? (value / 1000).toFixed(2).toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',') + ' KB/s' : '' ) }}"
}
The data-source graph binding object properties can be modified as required, this is the default but can be overridden in the config:
"bindings": {
"data": "dataPoints",
"timestamp": "key",
"value": "value"
}
Performance data for the tile is queried per column using the tile scope. This data needs to be grouped together for each object, so that it can be displayed correctly for the appropriate row. By default it is grouped assuming that the objects are unhosted or top-level objects such as Computers, Network Devices, or Distributed Applications. If your tile is scoped to hosted child objects such as disks, websites or databases then you will need to override the default grouping behavior with the below example under the config section:
"transforms": [
{
"operator": "group",
"parameters": {
"keys": [
"managedEntityId"
]
}
},
{
"operator": "merge",
"parameters": {
"sourceKey": "id",
"targetKey": "key.managedEntityId"
}
}
]
Default timeframe:
By default, all cell tiles in the Matrix tile adapt to the page timeframe.
The page timeframe is the timeframe setting a dashboard
Setting a specific timeframe:
You can set a fixed timeframe for cells by adding timeframe
as a source
property:
"source": {
"timeframe": {
"type": "fixed",
"range": "last24hours"
},
Properties
range |
Note: You need to make sure that the data source supports the timeframe you set. |
type |
|
Using a specific timeframe in cell tiles
A specific timeframe can only be set in the cell types Bar,
Default timeframe:
By default, all cell tiles in the Matrix tile adapt to the page timeframe.
The page timeframe is the timeframe setting a dashboard
Setting a specific timeframe:
You can set a fixed timeframe for cells by adding timeframe
as a source
property:
"source": {
"timeframe": {
"type": "fixed",
"range": "last24hours"
},
Properties
range |
Note: You need to make sure that the data source supports the timeframe you set. |
type |
|
FAQs
Why can't I sort the Matrix tile columns?
The Matrix tile isn't really a table in the traditional sense. It is a grid or "matrix" of cell tiles - each cell tile is a separately rendered entity and the data is retrieved for each column of tiles independently from other columns. This means that the data for each column can and will load at different times.
When sorting a traditional table, either a single query or a single joined dataset is being used to sort, process and display the entire table structure. This is not the case with the Matrix tile due to the independently queried columns and asynchronously rendered matrix of cell tiles.