Hi everyone,
I have Grafana integrated with IBM QRadar SIEM (v7.5.0 UP12) using the ibm-aql-datasource plugin. The setup has 9 dashboards with 60+ panels total, each running AQL queries against QRadar.
The strange issue I’m seeing: even a query with a 5-minute time range (or any arbitrary range) can take 30+ minutes to return results. What’s odd is that resource usage doesn’t explain it at all:
- Grafana server: CPU and Memory usage stay low during these slow queries, despite the server having decent specs.
- QRadar server: CPU and RAM also stay low, and QRadar itself has high specs (this isn’t an under-provisioned All-in-One appliance).
So neither side appears to be resource-starved, yet queries crawl. A few relevant details that I think rule out the most obvious causes:
- Concurrent users: only 1–2 people access these dashboards at a time — so this isn’t a high-concurrency load issue.
- Auto-refresh: disabled. Dashboards are refreshed manually, so there’s no overlapping query burst from scheduled refresh intervals.
- Despite this low usage pattern, queries still take 30+ minutes.
A few things I’m trying to rule out:
- AQL job queuing on QRadar — even with just 1-2 users, do queries from 60+ panels still queue server-side if triggered close together (e.g. loading a dashboard with many panels at once)? Is there a per-tenant or per-token concurrent search limit relevant here?
- Plugin-side timeout/retry behavior — the datasource has a configurable “Plugin Timeout” (default 5m). Could queries be silently timing out, retrying, and stacking up — which would explain low CPU but long wall-clock time?
- Ariel search engine I/O/disk bottleneck — since QRadar’s search engine relies heavily on disk I/O for the Ariel database rather than CPU/RAM, could the bottleneck be disk I/O or storage throughput on QRadar’s Ariel proxy, which wouldn’t show up as high CPU/RAM usage?
- Search job overhead per panel — does each panel submit a separate AQL search job (rather than batching), and if so, does QRadar process these sequentially rather than in parallel, even when resources are free?
Given that load is genuinely low (1-2 users, no auto-refresh), I’m leaning toward this being a QRadar-side search job/Ariel architecture limitation rather than a resource capacity issue — but would appreciate input from anyone who has run a similarly large dashboard setup (60+ panels) against QRadar via this plugin and identified the actual bottleneck.
Thanks !