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, who will 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 |