Documentation forOrion Platform

Filter data on modern dashboards using global filters

This topic applies to all Orion Platform products.

Starting with Orion Platform 2020.2.5, you can filter data on a dashboard for all widgets without having to modify the data source for individual widgets.

To do so, you need to append the filter parameters to the URL.

Filter syntax

http:// ... /dashboard/<id>?filters=<swis-filter>-<swis-filter>-...

  • id ... identifier of the dashboard (number or unique_key)

  • swis-filter ... global filter. URI can contain single or multiple global filter definitions.

Supported operators

Operator URL fragment With filter on .. where
Equals property:eq:value property == value | property IS NULL
EqualsNot property:ne:value property != value | property IS NOT NULL

GreaterOrEqual

property:ge:value property >= value
Greater property:gt:value property > value
LowerOrEqual property:le:value property <= value
Lower property:lt:value property < value
Between property:between:value1|value2|... property BETWEEN value1 AND value2 AND ...
In property:in:value1|value2|... property IN (value1, value2, ...)
Like property:like:value

property LIKE '%value%'

The like operator adds additional apostrophes around the value. Make sure you enter just a raw string value into the URI. The other parameters require apostrophes around string values, according to the SWIS syntax.

Special characters

To safely construct/parse the URI parameter, global filtering does escape special characters.

Escaping is the simple operation of prefixing the following special characters with a single-quote character:

-_'|

Filter examples

Display data only for the first Orion Node

http:// ... /dashboard/1?filters=0_Orion.Nodes_NodeID:eq:1

Copy

Filter as SWQL Code

WITH FILTER ON Orion.Nodes WHERE NodeID = 1 AND InstanceSiteId = 0

Display data from all Orion nodes which are not Down

http:// ... /dashboard/1?filters=5_Orion.Nodes_Status:ne:2

Copy

Filter as SWQL Code

WITH FILTER ON Orion.Nodes WHERE Status <> 2 AND InstanceSiteId = 5

Display data for nodes where custom property 'Department' = 'Brno'

http:// ... /dashboard/1?filters=0_Orion.NodesCustomProperties_Department:eq:Brno

Copy

Filter as SWQL Code

WITH FILTER ON Orion.NodesCustomProperties_Department WHERE Department = Brno AND InstanceSiteId = 0

Multiple global filters example: display RAM volumes with 80% or more used

http:// ... /dashboard/1?filters=0_Orion.Volumes_VolumeType:eq:''RAM''-0_Orion.Volumes_VolumePercentUsed:ge:80

Copy

Filter as SWQL Code

WITH FILTER ON Orion.Volumes WHERE VolumeType = 'RAM' AND InstanceSiteId = 0
WITH FILTER ON Orion.Volumes WHERE VolumePercentUsed > 80 AND InstanceSiteId = 0

Multiple values example (lower and upper bounds for between operator): display nodes with CPU load between 12 and 64

http:// ... /dashboard/1?filters=0_Orion.Nodes_CpuLoad:between:12|64

Copy

Filter as SWQL Code

WITH FILTER ON Orion.Nodes WHERE CpuLoad BETWEEN 12 AND 64 AND InstanceSiteId = 0

PerfStack chart data example: display only PerfStack data for a specific time frame

http:// ... /dashboard/1?filters=0_System.StatisticsEntity_ObservationTimestamp:between:2020%27-11%27-04T15:00:00Z%7C2020%27-11%27-04T18:00:00Z

Copy

Filter as SWQL Code

WITH FILTER ON System.StatisticsEntity WHERE ObservationTimestamp BETWEEN '2020-11-04T15:00:00Z' AND '2020-11-04T18:00:00Z' AND InstanceSiteId = 0

Entities that do not support global filtering in PerfStack projects

Module Entity TimeStamp Property
ActiveAlerts Orion.AlertHistory TimeStamp
ActiveAlerts Orion.AlertActive TriggeredDateTime
Events Orion.Events EventTime
Ncm Changes

Cirrus.ComparisonCache.TimeStamp

N/A
PolicyEngine (Scm) Orion.PolicyEngine.PerfstackPolicyStatistics BucketTimestamp
Scm Changes Orion.SCM.Results.ElementMetadata TimeStamp
WindowsEvents, LogFiles and VMwareEvents Orion.OLM.LogEntry

LogEntryID (integer?)