Filter data on modern dashboards using global filters in the URL
This topic applies to all SolarWinds Platform (self-hosted) 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.
Starting with 2024.4, you can apply global filters directly on modern dashboards. See Global filters on modern dashboards.
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. |
Troubleshooting
Using custom properties in global filters
If you use a hand-crafted SWQL query and use a custom property as a filter, you need to join your entity to the specific custom properties table(s) in the query.
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?) |