Documentation forSolarWinds Platform Self-Hosted

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?)