ParaQL Query Language
An overview of ParaQL, Parascope's SQL-like query language for exploring your entire infrastructure from a single console
ParaQL (Parascope Query Language) is a read-only, SQL-like query language purpose-built for the Parascope CMDB. It lets you explore configuration items, relationships, changes, and infrastructure topology from a single query console — no matter which source system the data came from.
Why ParaQL?
Traditional CMDBs force you to click through UIs or stitch together API calls when you need cross-system answers. ParaQL provides a unified query interface that spans every data source Parascope collects from:
- Cross-system search — Query Kubernetes pods, Proxmox VMs, OpenStack instances, Ceph OSDs, DNS zones, and more in a single statement
- Relationship traversal — Walk infrastructure stacks with arrow syntax:
deployment -[manages]-> pod - Temporal analysis — Compare infrastructure state across time with DIFF and AS OF
- Impact analysis — Determine blast radius when a host, pool, or service goes down
- Smart visualization — Results automatically render as tables, charts, graphs, or key-value cards based on the query shape
Getting Started
Navigate to Query Console in the sidebar (or press /query in the URL). You'll see a split-pane editor with syntax highlighting, autocomplete, and a results panel below.
Your First Queries
Start by exploring what data is available:
SHOW TABLESThis lists all CI types in your CMDB (e.g., kubernetes.pod, proxmox.vm, ceph.osd).
Describe a specific type to see its columns:
DESCRIBE kubernetes.podThen query the data:
SELECT name, namespace, config.phase, config.node_name
FROM kubernetes.pod
WHERE config.phase = 'Running'
ORDER BY namespace, name
LIMIT 20Executing Queries
- Run: Press
Cmd+Enter(Mac) orCtrl+Enter(Windows/Linux) - New line: Press
Enter(multi-line editing is fully supported) - Autocomplete: Triggers automatically as you type CI types, columns, and keywords
Query Console Features
Editor
The ParaQL editor provides a professional IDE-like experience:
- Syntax highlighting for keywords, CI types, strings, numbers, and operators
- Autocomplete for CI types, column names, relationship types, functions, and keywords — powered by live schema data fetched via
SHOW TABLES,SHOW RELATIONSHIPS, andDESCRIBE - Inline linting that highlights syntax errors with squiggly underlines and error messages
- Resizable panels — drag the divider between editor and results to adjust the split
Result Visualizations
ParaQL automatically selects the best visualization for your results. See Result Visualizations for a detailed breakdown of each mode.
| Visualization | Triggered When |
|---|---|
| Big Number | 1 row, 1 numeric column |
| Key-Value | 1 row, 2+ columns |
| Table | Multi-row results (default) |
| Bar Chart | Aggregation with categorical grouping |
| Line Chart | Aggregation with time-based grouping |
| Graph | Relationship traversal without aggregation |
| Schema | SHOW / DESCRIBE statements |
| Explain | EXPLAIN prefix |
| Diff | DIFF statements |
| Lineage | LINEAGE function |
| Impact | IMPACT function (columns include depth, path, criticality) |
Every chart and graph view includes a Table tab so you can always fall back to the raw data.
History and Saved Queries
- History (clock icon) — Automatically records every executed query with timestamp, execution time, and row count. Stored locally in your browser (up to 100 entries). Star important queries to pin them to the top.
- Saved Queries (bookmark icon) — Save queries server-side with a name and optional description. Saved queries persist across devices and can be shared via URL.
Export
Click the Export dropdown on any result to:
- Copy to clipboard (TSV) — Tab-separated values, paste directly into spreadsheets
- Download CSV — Standard CSV file
- Download JSON — Raw JSON array of row objects
- Copy as ParaQL — Copy the query text itself
URL Sharing
Every query execution updates the browser URL with an encoded query parameter. Copy the URL to share a specific query with colleagues — they'll see the same query pre-loaded in their editor.
Natural Language Chat
The AI sidebar (sparkle icon) lets you describe what you want in plain English, and an LLM translates it into ParaQL:
- Type "how many pods are running?" and get
SELECT COUNT(*) AS running_pods FROM kubernetes.pod WHERE config.phase = 'Running' - Refine queries by asking follow-up questions
- The system uses your CMDB schema, relationship types, and even specific CI names for accurate translation
See Natural Language Queries for details on the NL system.
What's Next
| Topic | Description |
|---|---|
| Language Reference | Complete syntax, operators, functions, and clauses |
| Result Visualizations | How result shapes map to charts, graphs, and tables |
| Example Queries | 50+ tested queries organized by use case |
| Natural Language | AI-powered query generation from plain English |