Documentation forSolarWinds Platformand Orion Platform

Filter data on modern dashboards using global filters

This topic applies to all SolarWinds 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 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?)