Parascope Docs

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 TABLES

This 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.pod

Then query the data:

SELECT name, namespace, config.phase, config.node_name
FROM kubernetes.pod
WHERE config.phase = 'Running'
ORDER BY namespace, name
LIMIT 20

Executing Queries

  • Run: Press Cmd+Enter (Mac) or Ctrl+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, and DESCRIBE
  • 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.

VisualizationTriggered When
Big Number1 row, 1 numeric column
Key-Value1 row, 2+ columns
TableMulti-row results (default)
Bar ChartAggregation with categorical grouping
Line ChartAggregation with time-based grouping
GraphRelationship traversal without aggregation
SchemaSHOW / DESCRIBE statements
ExplainEXPLAIN prefix
DiffDIFF statements
LineageLINEAGE function
ImpactIMPACT 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

TopicDescription
Language ReferenceComplete syntax, operators, functions, and clauses
Result VisualizationsHow result shapes map to charts, graphs, and tables
Example Queries50+ tested queries organized by use case
Natural LanguageAI-powered query generation from plain English