Filter data on modern dashboards using global filters
This topic applies to all SolarWinds Platform products.
You can filter data on a dashboard for all widgets without having to modify the data source for individual widgets. To do so, append the filter parameters to the URL.
If you created a table widget using the graphical query builder, you can only filter data from the table - more complex filters will not work. To use more complex filters, define the data Manually, using SWQL.
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.
Special characters
To safely construct/parse the URI parameter, global filtering escapes special characters.
Escaping is the simple operation of prefixing the following special characters with a single-quote character.
Character | What to use in the filter |
---|---|
-
|
'-
|
_
|
'_
|
'
|
''
|
|
|
'|
|
The '
used to escape a special character changes to %27
in the query. For example, when you type '_aaa
, it will be displayed as %27_aaa
in the query.
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. |
Filter examples
Display data only for the first Orion Node
http:// ... /dashboard/1?filters=0_Orion.Nodes_NodeID:eq:1
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
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
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
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
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
WITH FILTER ON System.StatisticsEntity WHERE ObservationTimestamp BETWEEN '2020-11-04T15:00:00Z' AND '2020-11-04T18:00:00Z' AND InstanceSiteId = 0
Escaping special character example: look for nodes where caption equals to AAA-BBB-1111
http:// ... /dashboard/1?filters=0_Orion.Nodes_caption:eq:AAA'-BBB'-11111
Placing '
in the query changes it to ?filters=0_Orion.Nodes_caption:eq:AAA%27-BBB%27-11111
.
WITH FILTER ON Orion.Nodes WHERE NodeID = 1 AND Nodes_caption = AAA-BBB-1111
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?) |