Variables & Filter Segments
Hands-on2 exercises
Variables & Filter Segments
Gen2 dashboards used management zone filters. Gen3 dashboards use variables (dropdown filters) and segments (data partitions).
Dashboard Variables
{
"version": 2,
"key": "HostFilter",
"type": "query",
"visible": true,
"editable": true,
"input": "fetch dt.entity.host | fields entity.name | sort entity.name",
"multiple": false,
"defaultValue": "*"
}
Using Variables in Queries
// Single-select variable
timeseries avg(dt.host.cpu.usage)
| filter dt.entity.host == $HostFilter
// Multi-select variable
fetch logs, from:now() - 1h
| filter in(dt.process_group.detected_name, array($ServiceFilter))
Variable Types
Type Source Example
โโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโ
query DQL query returns options Host list from entity query
code Static list in JSON ["prod", "staging", "dev"]
Segments as Dashboard Filters
Segments replace management zone filters on dashboards. Instead of selecting a management zone, users select a segment that filters all tiles.
GEN2: Dashboard โ Management Zone dropdown โ filters all tiles
GEN3: Dashboard โ Segment selector โ filters all DQL queries
Best Practices
- Use
keynotidfor variable identifiers - Set
"version": 2on every variable - Use
defaultValue: "*"for "show all" behavior - Don't hardcode time ranges in tile queries โ let the dashboard timeframe control it
- Use
:noquotesuffix for variables in string contexts